From e0fa6b5a3bb519d34a29f0a3ac07be039fa7753f Mon Sep 17 00:00:00 2001 From: Crementif <26669564+Crementif@users.noreply.github.com> Date: Sun, 24 Mar 2019 14:46:43 +0100 Subject: [PATCH] Fix whitespace difference caused by Github's online editor --- .../37040a485a29d54e_00000000000003c9_ps.txt | 3012 ++++++++--------- .../4d96f8f88575bcab_00000000000003c9_ps.txt | 198 +- .../317f0bb42d413218_000000000001fe49_ps.txt | 1192 +++---- .../ab0a485b9ae1bb1e_00000000000ff259_ps.txt | 1294 +++---- .../d2082c0e0e8ddf27_000000000001fe49_ps.txt | 798 ++--- .../rules.txt | 14 +- .../1c7db40ff5d693ab_001ffffe4924b249_ps.txt | 1582 ++++----- .../250cb5a06cab6534_000000000000007a_ps.txt | 900 ++--- .../29c30aaa023dc7e6_0000000000000709_ps.txt | 304 +- .../3179b85d41bfb80d_0000000079249749_ps.txt | 1148 +++---- .../3df0bb0da1c740d5_000000000000001c_ps.txt | 150 +- .../59cba7eb9a9c1df6_00000007f924d249_ps.txt | 1584 ++++----- .../8d24f32f18e6de47_0000000079249749_ps.txt | 1292 +++---- .../rules.txt | 14 +- 14 files changed, 6741 insertions(+), 6741 deletions(-) diff --git a/Enhancements/BreathOfTheWild_Clarity/37040a485a29d54e_00000000000003c9_ps.txt b/Enhancements/BreathOfTheWild_Clarity/37040a485a29d54e_00000000000003c9_ps.txt index de23c941..531736ed 100644 --- a/Enhancements/BreathOfTheWild_Clarity/37040a485a29d54e_00000000000003c9_ps.txt +++ b/Enhancements/BreathOfTheWild_Clarity/37040a485a29d54e_00000000000003c9_ps.txt @@ -1,1507 +1,1507 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -// shader 37040a485a29d54e - -//########################################################## - -// Being below game update version 1.4.0 will give you double-vision with recent graphic packs. - -// Clarity GFX -// Credit to Jamie for main coding. -// Credit to Kiri coding & Reshade logic. -// Credit to Crementif for additional assistance. -// Credit to all other creators for their time in making alternative presets. - -// Shader dumped from Cemu 1.11.2 from BotW 1.4.0 -// Added Cemu 1.13.x Preset support -// v 2.3 Final - -//########################################################## - -#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 - // Serfrost Preset (Default) 10 - // ViskClarity Preset 11 - -//########################################################## - -#if (Preset == 0) - -// User Defined, values to change are below. End before main presets. - -//########################################################## - -#define adjust_bloom 1 // 0: disable, 1: enable. - -//BloomFactor -const float bloomFactor = 0.020; // Default is 0.020 (rough estimate based on Switch) - -#define HDRpassing 0 // 0: disable, 1: enable. - -//Fake High Dynamic Range. -const float HDRPower = 1.00; // 0.0 to 8.0 Default 1.30. -const float radius1 = 1.00; // 0.0 to 8.0 Default 0.793 -const float radius2 = 0.80; // 0.0 to 8.0 Default 0.87 "Raising this seems to make the effect stronger and also brighter." - -#define lumapassing 0 // 0: disable, 1: enable. - -//LumaShapening -const float sharp_strength = 0.35; //[0.10 to 3.00] Strength of the sharpening Default is 0.65 -const float sharp_clamp = 0.85; //[0.000 to 1.000] Limits maximum amount of sharpening a pixel recieves - Default is 0.035 - -//Advanced sharpening settings -const float offset_bias = 1.0; //[0.0 to 6.0] Offset bias adjusts the radius of the sampling pattern. - -#define Tone_map 0 - - // 0: disable, -1 to 9: enable. - // -1: disable, loss of bright detail/color but keep [0,1] intact - // 0: (Wii U) BotW original - // Reshade ToneMap Option 1 - // linearToneMapping Option 2 - // simpleReinhardToneMapping Option 3 - // lumaBasedReinhardToneMapping Option 4 - // whitePreservingLumaBasedReinhardToneMapping Option 5 - // RomBinDaHouseToneMapping Option 6 - // filmicToneMapping Option 7 - // Uncharted2ToneMapping Option 8 - // ACES Filmic Option 9 - // Reshade ToneMap Controls / "Contrasty" Parameters - -const float Exposure = 1.17; // [0.0, 1.0+] Adjust exposure -const float Bleach = 0.4; // "More bleach means more contrasted and less colorful image" min -0.5 max 1.0 Default 0.0 -const float Gamma = 1.00; // "Adjust midtones. 1.000 is neutral. This setting does exactly the same as the one in Lift Gamma Gain, only with less control." -const float defog = 0.00; // Default is 0.0 //How much of the overall color you want removed form the values of FogColor. -vec3 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." -const float sat = 0.000; // "Adjust saturation" min -1.0 max 1.0 Default 0.0 -const float crushContrast = 0.000; // 0.0 is neutral. Use small increments, loss of shadow detail - -#define post_process 0 - -//----------------"BotW original" vibrance adjust-------------// -const float satFactor = 0.25; // 0.18 is neutral. Experimental, adjust native saturation -//------------------------------------------------------------// - -#define blacknwhitepass 0 // 0: disable, 1: enable. -// Levels Control -const int BlackPoint = 16; // [0, 255] The black point is the new black - literally. Everything darker than this will become completely black -const int WhitePoint = 235; // [0, 255] The new white point. Everything brighter than this becomes completely white - -#define lggpass 0 // 0: disable, 1: enable. -//Lift Gamma Gain -vec3 RGB_Lift = vec3(1.000, 1.000, 1.000); // [0.000 to 2.000] Adjust shadows for Red, Green and Blue. -vec3 RGB_Gamma = vec3(1.000, 1.000, 1.000); // [0.000 to 2.000] Adjust midtones for Red, Green and Blue -vec3 RGB_Gain = vec3(1.000, 1.000, 1.000); // [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. - -#define vibpass 0 // 0: disable, 1: enable. -//VibrancePass -const float Vibrance = 0.150; // Default [0.150] "Intelligently saturates (or desaturates if you use negative values) the pixels depending on their original saturation." -vec3 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."; - -#define Tech 0 // 0: disable, 1: enable. -//Technicolor -const float Power = 4.0; // Min 0.0 Max 8.0 Default 4.0 -vec3 RGBNegativeAmount = vec3(0.88, 0.88, 0.88); -float Strength = 0.20; // Min 0.0 Max 1.0 Default 0.4 - -#define Techine 0 // 0: disable, 1: enable. -//Technicolor2 -const float Technicolor2_Red_Strength = 0.02; // "Higher means darker and more intense colors." Default 0.2 -const float Technicolor2_Green_Strength = 0.02; // "Higher means darker and more intense colors." Default 0.2 -const float Technicolor2_Blue_Strength = 0.02; // "Higher means darker and more intense colors." Default 0.2 -const float Technicolor2_Brightness = 1.00; // "Higher means brighter image." min 0.5 max 1.5 Default 1.0 -const float Technicolor2_Strength = 1.00; // [Default is 1.0] -const float Technicolor2_Saturation = 1.00; // Default is 1.0 min 0.0 max 1.5 "Additional saturation control since this effect tends to oversaturate the image." - -#define cmatrix 0 -//Color Matrix -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; - -//Curves Contrast -#define CurvesPss 0 // 0: disable, 1: enable. -const float Contrast = 0.65; // Default 0.65 min -1.0 max = 1.0 "The amount of contrast you want." - -#define Filmicpass 0 // 0: disable, 1: enable. -//Filmic Pass -const float Filmic_Contrast = 1.0; // Default 1.0 min 0.5 max 2.0 -const float Filmic_Bleach = 0.0; // "More bleach means more contrasted and less colorful image" min -0.5 max 1.0 Default 0.0 -const float Saturation = -0.15; // min -1.0 max 1.0 Default -0.15 - -const float Filmic_Strength = 0.85; // "Strength of the color curve altering"; min 0.0 max 1.5 Default 0.85 -const float Fade = 0.4; // "Decreases contrast to imitate faded image" min 0.0 max 0.6 Default 0.4 -const float Linearization = 0.5; // min 0.5 max 2.0 Default 0.5 - -const float BaseCurve = 1.5; // min 0.0 max 2.0 Default 1.5 -const float BaseGamma = 1.00; // min 0.7 max 2.0 Default 1.0 -const float EffectGamma = 0.68; // min 0.0 max 2.0 Default 0.68 - -#define dpxpass 0 -//DPX -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; - -//########################################################### - -//Do not edit under this line, unless explicitly desired. Keep backups! - -//########################################################### - -//Presets - -#elif (Preset == 1) //Bruz - - #define adjust_bloom 1 - const float bloomFactor = 0.30; - #define HDRpassing 0 - float HDRPower = 1.3; - float radius1 = 0.795; - float radius2 = 0.85; - #define lumapassing 0 - const float sharp_strength = 0.45; - const float sharp_clamp = 0.085; - const float offset_bias = 1.0; - #define Tone_map 8 - const float Exposure = 1.17; - const float Bleach = 0.4; - const float Gamma = 0.9; - 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 1 - const float satFactor = 0.25; - #define blacknwhitepass 1 - const int BlackPoint = 0; - const int WhitePoint = 255; - #define lggpass 1 - 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 1 - const float Power = 8.0; - vec3 RGBNegativeAmount = vec3(0.88, 0.88, 0.88); - float Strength = 0.3; - #define Techine 1 - float Technicolor2_Red_Strength = 0.05; - float Technicolor2_Green_Strength = 0.02; - float Technicolor2_Blue_Strength = 0.12; - float Technicolor2_Brightness = 0.4; - float Technicolor2_Strength = 3.0; - float Technicolor2_Saturation = 1.0; - #define cmatrix 7 - 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 1 - const float Filmic_Strength = 0.60; - const float Filmic_Contrast = 1.03; - const float Fade = 0.0; - const float Linearization = 1.0; - const float Filmic_Bleach = 0.0; - const float Saturation = -0.25; - const float BaseCurve = 1.5; - const float BaseGamma = 1.0; - 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 == 2) //BSoD Gaming - - #define adjust_bloom 1 - const float bloomFactor = 0.010; - #define HDRpassing 1 - const float HDRPower = 1.085; - const float radius1 = 0.793; - const float radius2 = 0.87; - #define lumapassing 1 - const float sharp_strength = 0.25; - const float sharp_clamp = 0.085; - const float offset_bias = 1.0; - #define Tone_map 8 - const float Exposure = 0.6; - const float Bleach = 0.3; - const float Gamma = 1.00; - const float defog = 0.004; - vec3 FogColor = vec3(1.0, 1.5, 1.7); - const float sat = 0.050; - const float crushContrast = 0.000; - #define post_process 0 - const float satFactor = 0.25; - #define blacknwhitepass 0 - const int BlackPoint = 8; - const int WhitePoint = 235; - #define lggpass 1 - vec3 RGB_Lift = vec3(0.994, 0.994, 0.994); - vec3 RGB_Gamma = vec3(1.0, 0.990, 1.0); - vec3 RGB_Gain = vec3(1.0, 0.990, 1.00); - #define vibpass 1 - const float Vibrance = 0.113; - 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.000; - const float Technicolor2_Green_Strength = 0.000; - const float Technicolor2_Blue_Strength = 0.000; - const float Technicolor2_Brightness = 1.0; - const float Technicolor2_Strength = 0.40; - const float Technicolor2_Saturation = 0.70; - #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 1 - 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 = 0.7; - 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 == 3) //Jamie - - #define adjust_bloom 1 - const float bloomFactor = 0.020; - #define HDRpassing 1 - const float HDRPower = 1.00; - const float radius1 = 1.00; - const float radius2 = 0.80; - #define lumapassing 1 - const float sharp_strength = 0.35; - 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.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 1 - const float satFactor = 0.25; - #define blacknwhitepass 0 - const int BlackPoint = 16; - const int WhitePoint = 235; - #define lggpass 1 - vec3 RGB_Lift = vec3(0.980, 0.980, 0.980); - 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 1 - 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 = 0.0; - float Colorfulness = 1.0; - float DPX_Strength = 0.20; - -#elif (Preset == 4) //Contrasty - - #define adjust_bloom 1 - const float bloomFactor = 0.020; - #define HDRpassing 0 - const float HDRPower = 1.00; - const float radius1 = 1.00; - const float radius2 = 0.80; - #define lumapassing 0 - const float sharp_strength = 0.35; - const float sharp_clamp = 0.85; - const float offset_bias = 1.0; - #define Tone_map 1 - const float Exposure = 1.17; - const float Bleach = 0.3; - const float Gamma = 0.810; - 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 1 - 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 1 - 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 == 5) //The Complaining Gamer - - #define adjust_bloom 1 - const float bloomFactor = 0.33; - #define HDRpassing 1 - const float HDRPower = 1.020; - const float radius1 = 0.793; - const float radius2 = 0.87; - #define lumapassing 1 - const float sharp_strength = 0.25; - 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.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 1 - vec3 RGB_Lift = vec3(1.000, 1.000, 1.000); - vec3 RGB_Gamma = vec3(0.600, 0.600, 0.600); - vec3 RGB_Gain = vec3(1.000, 1.000, 1.000); - #define vibpass 1 - 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 1 - const float Technicolor2_Red_Strength = 0.000; - const float Technicolor2_Green_Strength = 0.000; - const float Technicolor2_Blue_Strength = 0.000; - const float Technicolor2_Brightness = 1.0; - const float Technicolor2_Strength = 0.40; - const float Technicolor2_Saturation = 0.51; - #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 1 - 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 == 6) //Filmic - - #define adjust_bloom 1 - const float bloomFactor = 0.020; - #define HDRpassing 1 - const float HDRPower = 1.20; - const float radius1 = 1.00; - const float radius2 = 0.80; - #define lumapassing 1 - const float sharp_strength = 0.35; - 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.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 1 - const float satFactor = 0.25; - #define blacknwhitepass 0 - const int BlackPoint = 16; - const int WhitePoint = 235; - #define lggpass 0 - vec3 RGB_Lift = vec3(0.990, 0.990, 0.990); - vec3 RGB_Gamma = vec3(1.000, 1.000, 1.000); - vec3 RGB_Gain = vec3(1.000, 1.000, 1.000); - #define vibpass 1 - 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 1 - const float Contrast = 0.65; - #define Filmicpass 1 - 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 1 - 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 = 2.0; - float Colorfulness = 1.5; - float DPX_Strength = 0.20; - -#elif (Preset == 7) //CellHunter - - #define adjust_bloom 1 - const float bloomFactor = 0.115; - #define HDRpassing 1 - const float HDRPower = 1.150; - const float radius1 = 1.200; - const float radius2 = 1.000; - #define lumapassing 0 - const float sharp_strength = 0.35; - const float sharp_clamp = 0.85; - const float offset_bias = 1.00; - #define Tone_map 8 - const float Exposure = 1.00; - const float Bleach = 0.0; - const float Gamma = 1.00; - const float defog = 0.003; - 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.05; - #define blacknwhitepass 0 - const int BlackPoint = 16; - const int WhitePoint = 215; - #define lggpass 1 - vec3 RGB_Lift = vec3(1.000, 0.985, 1.000); - vec3 RGB_Gamma = vec3(1.000, 1.000, 1.000); - vec3 RGB_Gain = vec3(1.000, 1.000, 1.000); - #define vibpass 1 - const float Vibrance = 0.735; - vec3 VibranceRGBBalance = vec3(1.0, 1.0, 1.0); - #define Tech 0 - const float Power = 1.0; - vec3 RGBNegativeAmount = vec3(0.88, 0.88, 0.88); - float Strength = 0.05; - #define Techine 1 - const float Technicolor2_Red_Strength = -0.15; - const float Technicolor2_Green_Strength = 0.25; - const float Technicolor2_Blue_Strength = 0.55; - const float Technicolor2_Brightness = 1.65; - 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 1 - const float Contrast = 0.115; - #define Filmicpass 1 - const float Filmic_Contrast = 1.00; - const float Filmic_Bleach = 0.0; - const float Saturation = -0.15; - const float Filmic_Strength = 0.60; - const float Fade = 0.45; - const float Linearization = 0.7; - const float BaseCurve = 0.7; - const float BaseGamma = 1.00; - const float EffectGamma = 1.75; - #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 == 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; - -#elif (Preset == 10) //Serfrost (Other) - - #define adjust_bloom 1 - const float bloomFactor = 0.3; - #define HDRpassing 1 - const float HDRPower = 1.15; - const float radius1 = 0.793; - const float radius2 = 0.87; - #define lumapassing 1 - const float sharp_strength = 0.45; - const float sharp_clamp = 0.085; - const float offset_bias = 1.0; - #define Tone_map 8 - const float Exposure = 1.10; - const float Bleach = 0.1; - const float Gamma = 1.0; - const float defog = 0.0; - 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 = 5; - const int WhitePoint = 210; - #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.3); - #define Tech 1 - const float Power = 6.0; - vec3 RGBNegativeAmount = vec3(0.88, 0.88, 0.88); - float Strength = 0.3; - #define Techine 1 - float Technicolor2_Red_Strength = -0.12; - float Technicolor2_Green_Strength = -0.25; - float Technicolor2_Blue_Strength = -0.15; - float Technicolor2_Brightness = 0.4; - float Technicolor2_Strength = 1.0; - float Technicolor2_Saturation = 0.90; - #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.5; - #define Filmicpass 1 - const float Filmic_Contrast = 1.03; - const float Filmic_Bleach = 0.0; - const float Saturation = -0.35; - const float Filmic_Strength = 0.60; - const float Fade = 0.1; - const float Linearization = 1.0; - const float BaseCurve = 1.5; - const float BaseGamma = 1.0; - 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 = 1.0; - float DPX_Strength = 0.20; - -#elif (Preset == 11) //ViskClarity - #define adjust_bloom 1 - const float bloomFactor = 4.050; - #define HDRpassing 1 - const float HDRPower = 1.3; - const float radius1 = 0.793; - const float radius2 = 0.87; - #define lumapassing 1 - const float sharp_strength = 0.50; - const float sharp_clamp = 0.085; - const float offset_bias = 0.0; - #define Tone_map 8 - const float Exposure = 0.6; - const float Bleach = 0.2; - const float Gamma = 1.00; - const float defog = 0.004; - vec3 FogColor = vec3(1.0, 1.5, 1.7); - const float sat = 0.050; - const float crushContrast = 0.000; - #define post_process 0 - const float satFactor = 0; - #define blacknwhitepass 1 - const int BlackPoint = 2; - const int WhitePoint = 285; - #define lggpass 1 - vec3 RGB_Lift = vec3(0.994, 0.994, 0.994); - vec3 RGB_Gamma = vec3(1.0, 0.990, 1.0); - vec3 RGB_Gain = vec3(1.0, 0.990, 1.00); - #define vibpass 1 - const float Vibrance = 0.500; - vec3 VibranceRGBBalance = vec3(1.0, 1.0, 1.0); - #define Tech 1 - const float Power = 4.0; - vec3 RGBNegativeAmount = vec3(0.88, 0.88, 0.88); - float Strength = 0.20; - #define Techine 1 - const float Technicolor2_Red_Strength = 0.000; - const float Technicolor2_Green_Strength = 0.000; - const float Technicolor2_Blue_Strength = 0.000; - const float Technicolor2_Brightness = 0.0; - const float Technicolor2_Strength = 0.40; - 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 1 - const float Contrast = -0.35; - #define Filmicpass 1 - const float Filmic_Contrast = 1.0; - const float Filmic_Bleach = 0.0; - const float Saturation = 0; - const float Filmic_Strength = 0.85; - const float Fade = 0.1; - const float Linearization = 0.5; - const float BaseCurve = 1.5; - const float BaseGamma = 0.7; - const float EffectGamma = 0.65; - #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 = 1.5; - float DPX_Saturation = 0.8; - float Colorfulness = 0.8; - float DPX_Strength = 0.50; - -#endif - -//########################################################### - -//Never touch anything below this line unless you plan to break and fix things. - -//########################################################### - -uniform ivec4 uf_remappedPS[1]; -layout(binding = 0) uniform sampler2D textureUnitPS0; // Bloom -layout(binding = 1) uniform sampler2D textureUnitPS1;// HDR LumaShapening. -layout(location = 0) in vec4 passParameterSem0; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; - -//ToneMapping - -vec3 linearToneMapping(vec3 color) -{ - float exposure = 1.; - color = clamp(exposure * color, 0., 1.); - color = pow(color, vec3(1. / Gamma)); - return color; -} - -vec3 simpleReinhardToneMapping(vec3 color) -{ - float exposure = 1.5; - color *= exposure / (1. + color / exposure); - color = pow(color, vec3(1. / Gamma)); - return color; -} - -vec3 lumaBasedReinhardToneMapping(vec3 color) -{ - float luma = dot(color, vec3(0.2126, 0.7152, 0.0722)); - float toneMappedLuma = luma / (1. + luma); - color *= toneMappedLuma / luma; - color = pow(color, vec3(1. / Gamma)); - return color; -} - -vec3 whitePreservingLumaBasedReinhardToneMapping(vec3 color) -{ - float white = 2.; - float luma = dot(color, vec3(0.2126, 0.7152, 0.0722)); - float toneMappedLuma = luma * (1. + luma / (white*white)) / (1. + luma); - color *= toneMappedLuma / luma; - color = pow(color, vec3(1. / Gamma)); - return color; -} - -vec3 RomBinDaHouseToneMapping(vec3 color) -{ - color = exp(-1.0 / (2.72*color + 0.15)); - color = pow(color, vec3(1. / Gamma)); - return color; -} - -vec3 filmicToneMapping(vec3 color) -{ - color = max(vec3(0.), color - vec3(0.004)); - color = (color * (6.2 * color + .5)) / (color * (6.2 * color + 1.7) + 0.06); - return color; -} - -vec3 Uncharted2ToneMapping(vec3 color) -{ - float A = 0.15; - float B = 0.50; - float C = 0.10; - float D = 0.20; - float E = 0.02; - float F = 0.30; - float W = 11.2; - float exposure = 2.; - color *= exposure; - color = ((color * (A * color + C * B) + D * E) / (color * (A * color + B) + D * F)) - E / F; - float white = ((W * (A * W + C * B) + D * E) / (W * (A * W + B) + D * F)) - E / F; - color /= white; - color = pow(color, vec3(1. / Gamma)); - return color; -} - -vec3 ReshadeToneMap(vec3 inputColor) { - vec3 color = inputColor; - color = clamp(color - defog * FogColor * 2.55, 0.0, 1.0); // defog - color *= Exposure / (1.0 + color / Exposure); - color = pow(color, vec3(1. / Gamma)); // Gamma - - 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; - - color = (color + diffcolor * sat) / (1 + (diffcolor * sat)); // saturation - - return color; -} - -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; -} - -//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; -} - -//TECHNICOLOR2 - -vec3 Technicolor2(vec3 inputColor) { - vec3 color = inputColor; - vec3 Color_Strength = vec3(Technicolor2_Red_Strength, Technicolor2_Green_Strength, Technicolor2_Blue_Strength); - vec3 source = color; - vec3 temp = 1.0 - source; - vec3 target = temp.grg; - vec3 target2 = temp.bbr; - vec3 temp2 = source * target; - temp2 *= target2; - - temp = temp2 * Color_Strength; - temp2 *= Technicolor2_Brightness; - - target = temp.grg; - target2 = temp.bbr; - - temp = source - target; - temp += temp2; - temp2 = temp - target2; - - color = mix(source, temp2, Technicolor2_Strength); - - color = mix(vec3(dot(color, vec3(0.333))), color, Technicolor2_Saturation); - - return color; -} - -//Technicolor -vec3 TechnicolorPass(vec3 color) -{ - - const vec3 cyanfilter = vec3(0.0, 1.30, 1.0); - const vec3 magentafilter = vec3(1.0, 0.0, 1.05); - const vec3 yellowfilter = vec3(1.6, 1.6, 0.05); - const vec2 redorangefilter = vec2(1.05, 0.620); // RG_ - const vec2 greenfilter = vec2(0.30, 1.0); // RG_ - const vec2 magentafilter2 = magentafilter.rb; // R_B - - vec3 tcol = color.rgb; - - vec2 negative_mul_r = tcol.rg * (1.0 / (RGBNegativeAmount.r * Power)); - vec2 negative_mul_g = tcol.rg * (1.0 / (RGBNegativeAmount.g * Power)); - vec2 negative_mul_b = tcol.rb * (1.0 / (RGBNegativeAmount.b * Power)); - vec3 output_r = dot(redorangefilter, negative_mul_r).xxx + cyanfilter; - vec3 output_g = dot(greenfilter, negative_mul_g).xxx + magentafilter; - vec3 output_b = dot(magentafilter2, negative_mul_b).xxx + yellowfilter; - - return mix(tcol, output_r * output_g * output_b, Strength); -} - -//ColorMatrix -vec3 ColorMatrixPass(vec3 inputColor) -{ - vec3 color = inputColor; - - const mat3 ColorMatrix = mat3(ColorMatrix_Red, ColorMatrix_Green, ColorMatrix_Blue); - //color = mix(color, * (ColorMatrix, color), CM_Strength); - color *= mix(color, (ColorMatrix, color), CM_Strength); - return clamp(color, 0.0, 1.); -} - -// Contrasty - -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 = VibranceRGBBalance * 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; -} - -// Levels - -vec3 LevelsPass(vec3 inputColor) { - float black_point_float = BlackPoint / 255.0; - float white_point_float = WhitePoint == BlackPoint ? (255.0 / 0.00025) : (255.0 / (WhitePoint - BlackPoint)); // Avoid division by zero if the white and black point are the same - - vec3 color = inputColor; - color = color * white_point_float - (black_point_float * white_point_float); - - return color; -} - -//FilmPass -vec3 FilmPass(vec3 inputColor) { - - vec3 B = inputColor.rgb; - vec3 G = B; - vec3 H = vec3(0.01); - - B = clamp(B, 0.0, 1.); - B = pow(vec3(B), vec3(Linearization)); - B = mix(H, B, Filmic_Contrast); - - vec3 LumCoeff = vec3(0.2126, 0.7152, 0.0722); - float A = dot(B.rgb, LumCoeff); - vec3 D = vec3(A); - - B = pow(B, 1.0 / vec3(BaseGamma)); - - float RedCurve = 1.0; - float GreenCurve = 1.0; - float BlueCurve = 1.0; - float a = RedCurve; - float b = GreenCurve; - float c = BlueCurve; - float d = BaseCurve; - - float y = 1.0 / (1.0 + exp(a / 2.0)); - float z = 1.0 / (1.0 + exp(b / 2.0)); - float w = 1.0 / (1.0 + exp(c / 2.0)); - float v = 1.0 / (1.0 + exp(d / 2.0)); - - vec3 C = B; - - D.r = (1.0 / (1.0 + exp(-a * (D.r - 0.5))) - y) / (1.0 - 2.0 * y); - D.g = (1.0 / (1.0 + exp(-b * (D.g - 0.5))) - z) / (1.0 - 2.0 * z); - D.b = (1.0 / (1.0 + exp(-c * (D.b - 0.5))) - w) / (1.0 - 2.0 * w); - - D = pow(D, 1.0 / vec3(EffectGamma)); - - vec3 Di = 1.0 - D; - - D = mix(D, Di, Filmic_Bleach); - float EffectGammaR = 1.0; - float EffectGammaG = 1.0; - float EffectGammaB = 1.0; - D.r = pow(abs(D.r), 1.0 / EffectGammaR); - D.g = pow(abs(D.g), 1.0 / EffectGammaG); - D.b = pow(abs(D.b), 1.0 / EffectGammaB); - - if (D.r < 0.5) - C.r = (2.0 * D.r - 1.0) * (B.r - B.r * B.r) + B.r; - else - C.r = (2.0 * D.r - 1.0) * (sqrt(B.r) - B.r) + B.r; - - if (D.g < 0.5) - C.g = (2.0 * D.g - 1.0) * (B.g - B.g * B.g) + B.g; - else - C.g = (2.0 * D.g - 1.0) * (sqrt(B.g) - B.g) + B.g; - - if (D.b < 0.5) - C.b = (2.0 * D.b - 1.0) * (B.b - B.b * B.b) + B.b; - else - C.b = (2.0 * D.b - 1.0) * (sqrt(B.b) - B.b) + B.b; - - vec3 F = mix(B, C, Filmic_Strength); - - F = (1.0 / (1.0 + exp(-d * (F - 0.5))) - v) / (1.0 - 2.0 * v); - - float r2R = 1.0 - Saturation; - float g2R = 0.0 + Saturation; - float b2R = 0.0 + Saturation; - - float r2G = 0.0 + Saturation; - float g2G = (1.0 - Fade) - Saturation; - float b2G = (0.0 + Fade) + Saturation; - - float r2B = 0.0 + Saturation; - float g2B = (0.0 + Fade) + Saturation; - float b2B = (1.0 - Fade) - Saturation; - - vec3 iF = F; - - F.r = (iF.r * r2R + iF.g * g2R + iF.b * b2R); - F.g = (iF.r * r2G + iF.g * g2G + iF.b * b2G); - F.b = (iF.r * r2B + iF.g * g2B + iF.b * b2B); - - float N = dot(F.rgb, LumCoeff); - vec3 Cn = F; - - if (N < 0.5) - Cn = (2.0 * N - 1.0) * (F - F * F) + F; - else - Cn = (2.0 * N - 1.0) * (sqrt(F) - F) + F; - - Cn = pow(max(Cn, 0), 1.0 / vec3(Linearization)); - - vec3 Fn = mix(B, Cn, Filmic_Strength); - return Fn; -} - -//DPX -const mat3 RGB = mat3( - 2.6714711726599600, -1.2672360578624100, -0.4109956021722270, - -1.0251070293466400, 1.9840911624108900, 0.0439502493584124, - 0.0610009456429445, -0.2236707508128630, 1.1590210416706100 -); -const mat3 XYZ = mat3( - 0.5003033835433160, 0.3380975732227390, 0.1645897795458570, - 0.2579688942747580, 0.6761952591447060, 0.0658358459823868, - 0.0234517888692628, 0.1126992737203000, 0.8668396731242010 -); -vec3 DPXPass(vec3 inputColor) -{ - vec3 color = inputColor; - - vec3 B = color; - B = B * (1.0 - DPX_Contrast) + (0.5 * DPX_Contrast); - vec3 Btemp = (1.0 / (1.0 + exp(RGB_Curve / 2.0))); - B = ((1.0 / (1.0 + exp(-RGB_Curve * (B - RGB_C)))) / (-2.0 * Btemp + 1.0)) + (-Btemp / (-2.0 * Btemp + 1.0)); - - float value = max(max(B.r, B.g), B.b); - vec3 Ztemp = B / value; - color = pow(abs(color), 1. / vec3(Colorfulness)); - - vec3 c0 = Ztemp * value; - c0 *= (XYZ, c0); - float luma = dot(c0, vec3(0.30, 0.59, 0.11)); - c0 = (1.0 - DPX_Saturation) * luma + DPX_Saturation * c0; - c0 *= (RGB, c0); - - return mix(color, c0, DPX_Strength); -} - -//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; -} - -//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; -} - -void main() -{ - //Bloom - vec3 bloom = texture(textureUnitPS0, passParameterSem0.xy).xyz; -#if (adjust_bloom == 1) - bloom *= bloomFactor; -#endif - - //HDR and LumaShapening -#if (HDRpassing == 1) - passPixelColor0.xyz = HDRPass(textureUnitPS1, passParameterSem0.xy).xyz; -#endif -#if (HDRpassing == 0) - passPixelColor0.xyz = texture(textureUnitPS1, passParameterSem0.xy).xyz; -#endif -#if (lumapassing == 1) - float smask = lumasharping(textureUnitPS1, passParameterSem0.xy); - passPixelColor0.xyz += vec3(smask); -#endif - - // Do not edit this - vec3 color = (passPixelColor0.xyz); - color += bloom; - //++++++++++++++++++++++++++++++++++ - - // Tonemapping -#if (Tone_map == -1) - color = clamp(color*Exposure, 0.0, 1.0); -#elif (Tone_map == 0) - color = BotWToneMap(color); -#elif (Tone_map == 1) - color = ReshadeToneMap(color); -#elif (Tone_map == 2) - color = linearToneMapping(color); -#elif (Tone_map == 3) - color = simpleReinhardToneMapping(color); -#elif (Tone_map == 4) - color = lumaBasedReinhardToneMapping(color); -#elif (Tone_map == 5) - color = whitePreservingLumaBasedReinhardToneMapping(color); -#elif (Tone_map == 6) - color = RomBinDaHouseToneMapping(color); -#elif (Tone_map == 7) - color = filmicToneMapping(color); -#elif (Tone_map == 8) - color = Uncharted2ToneMapping(color); -#elif (tone_mapping == 9) - color = ACESFilm(color); -#endif - - // Levels Control if we tone map to 16-235 , 0 - 255 or usr defined range. -#if (blacknwhitepass == 1) - color = LevelsPass(color); -#endif - - // Color matrix -#if (cmatrix == 1) - color = ColorMatrixPass(color); -#endif - - - // Post Processing -#if (Tech == 1) - color = TechnicolorPass(color); -#endif -#if (Techine == 1) - color = Technicolor2(color); -#endif -#if (post_process == 0) - color = BotWVibrance(color); -#endif -#if (post_process == 1) - color = Contrasty(color); -#endif -#if (dpxpass == 1) - color = DPXPass(color); -#endif -#if (Filmicpass == 1) - color = FilmPass(color); -#endif -#if (lggpass == 1) - color = LiftGammaGainPass(color); -#endif -#if (CurvesPss == 1) - color = CurvesPass(color); -#endif -#if (vibpass == 1) - color = VibrancePass(color); -#endif - passPixelColor0 = vec4(color, passParameterSem0.w); +#version 420 +#extension GL_ARB_texture_gather : enable +// shader 37040a485a29d54e + +//########################################################## + +// Being below game update version 1.4.0 will give you double-vision with recent graphic packs. + +// Clarity GFX +// Credit to Jamie for main coding. +// Credit to Kiri coding & Reshade logic. +// Credit to Crementif for additional assistance. +// Credit to all other creators for their time in making alternative presets. + +// Shader dumped from Cemu 1.11.2 from BotW 1.4.0 +// Added Cemu 1.13.x Preset support +// v 2.3 Final + +//########################################################## + +#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 + // Serfrost Preset (Default) 10 + // ViskClarity Preset 11 + +//########################################################## + +#if (Preset == 0) + +// User Defined, values to change are below. End before main presets. + +//########################################################## + +#define adjust_bloom 1 // 0: disable, 1: enable. + +//BloomFactor +const float bloomFactor = 0.020; // Default is 0.020 (rough estimate based on Switch) + +#define HDRpassing 0 // 0: disable, 1: enable. + +//Fake High Dynamic Range. +const float HDRPower = 1.00; // 0.0 to 8.0 Default 1.30. +const float radius1 = 1.00; // 0.0 to 8.0 Default 0.793 +const float radius2 = 0.80; // 0.0 to 8.0 Default 0.87 "Raising this seems to make the effect stronger and also brighter." + +#define lumapassing 0 // 0: disable, 1: enable. + +//LumaShapening +const float sharp_strength = 0.35; //[0.10 to 3.00] Strength of the sharpening Default is 0.65 +const float sharp_clamp = 0.85; //[0.000 to 1.000] Limits maximum amount of sharpening a pixel recieves - Default is 0.035 + +//Advanced sharpening settings +const float offset_bias = 1.0; //[0.0 to 6.0] Offset bias adjusts the radius of the sampling pattern. + +#define Tone_map 0 + + // 0: disable, -1 to 9: enable. + // -1: disable, loss of bright detail/color but keep [0,1] intact + // 0: (Wii U) BotW original + // Reshade ToneMap Option 1 + // linearToneMapping Option 2 + // simpleReinhardToneMapping Option 3 + // lumaBasedReinhardToneMapping Option 4 + // whitePreservingLumaBasedReinhardToneMapping Option 5 + // RomBinDaHouseToneMapping Option 6 + // filmicToneMapping Option 7 + // Uncharted2ToneMapping Option 8 + // ACES Filmic Option 9 + // Reshade ToneMap Controls / "Contrasty" Parameters + +const float Exposure = 1.17; // [0.0, 1.0+] Adjust exposure +const float Bleach = 0.4; // "More bleach means more contrasted and less colorful image" min -0.5 max 1.0 Default 0.0 +const float Gamma = 1.00; // "Adjust midtones. 1.000 is neutral. This setting does exactly the same as the one in Lift Gamma Gain, only with less control." +const float defog = 0.00; // Default is 0.0 //How much of the overall color you want removed form the values of FogColor. +vec3 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." +const float sat = 0.000; // "Adjust saturation" min -1.0 max 1.0 Default 0.0 +const float crushContrast = 0.000; // 0.0 is neutral. Use small increments, loss of shadow detail + +#define post_process 0 + +//----------------"BotW original" vibrance adjust-------------// +const float satFactor = 0.25; // 0.18 is neutral. Experimental, adjust native saturation +//------------------------------------------------------------// + +#define blacknwhitepass 0 // 0: disable, 1: enable. +// Levels Control +const int BlackPoint = 16; // [0, 255] The black point is the new black - literally. Everything darker than this will become completely black +const int WhitePoint = 235; // [0, 255] The new white point. Everything brighter than this becomes completely white + +#define lggpass 0 // 0: disable, 1: enable. +//Lift Gamma Gain +vec3 RGB_Lift = vec3(1.000, 1.000, 1.000); // [0.000 to 2.000] Adjust shadows for Red, Green and Blue. +vec3 RGB_Gamma = vec3(1.000, 1.000, 1.000); // [0.000 to 2.000] Adjust midtones for Red, Green and Blue +vec3 RGB_Gain = vec3(1.000, 1.000, 1.000); // [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. + +#define vibpass 0 // 0: disable, 1: enable. +//VibrancePass +const float Vibrance = 0.150; // Default [0.150] "Intelligently saturates (or desaturates if you use negative values) the pixels depending on their original saturation." +vec3 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."; + +#define Tech 0 // 0: disable, 1: enable. +//Technicolor +const float Power = 4.0; // Min 0.0 Max 8.0 Default 4.0 +vec3 RGBNegativeAmount = vec3(0.88, 0.88, 0.88); +float Strength = 0.20; // Min 0.0 Max 1.0 Default 0.4 + +#define Techine 0 // 0: disable, 1: enable. +//Technicolor2 +const float Technicolor2_Red_Strength = 0.02; // "Higher means darker and more intense colors." Default 0.2 +const float Technicolor2_Green_Strength = 0.02; // "Higher means darker and more intense colors." Default 0.2 +const float Technicolor2_Blue_Strength = 0.02; // "Higher means darker and more intense colors." Default 0.2 +const float Technicolor2_Brightness = 1.00; // "Higher means brighter image." min 0.5 max 1.5 Default 1.0 +const float Technicolor2_Strength = 1.00; // [Default is 1.0] +const float Technicolor2_Saturation = 1.00; // Default is 1.0 min 0.0 max 1.5 "Additional saturation control since this effect tends to oversaturate the image." + +#define cmatrix 0 +//Color Matrix +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; + +//Curves Contrast +#define CurvesPss 0 // 0: disable, 1: enable. +const float Contrast = 0.65; // Default 0.65 min -1.0 max = 1.0 "The amount of contrast you want." + +#define Filmicpass 0 // 0: disable, 1: enable. +//Filmic Pass +const float Filmic_Contrast = 1.0; // Default 1.0 min 0.5 max 2.0 +const float Filmic_Bleach = 0.0; // "More bleach means more contrasted and less colorful image" min -0.5 max 1.0 Default 0.0 +const float Saturation = -0.15; // min -1.0 max 1.0 Default -0.15 + +const float Filmic_Strength = 0.85; // "Strength of the color curve altering"; min 0.0 max 1.5 Default 0.85 +const float Fade = 0.4; // "Decreases contrast to imitate faded image" min 0.0 max 0.6 Default 0.4 +const float Linearization = 0.5; // min 0.5 max 2.0 Default 0.5 + +const float BaseCurve = 1.5; // min 0.0 max 2.0 Default 1.5 +const float BaseGamma = 1.00; // min 0.7 max 2.0 Default 1.0 +const float EffectGamma = 0.68; // min 0.0 max 2.0 Default 0.68 + +#define dpxpass 0 +//DPX +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; + +//########################################################### + +//Do not edit under this line, unless explicitly desired. Keep backups! + +//########################################################### + +//Presets + +#elif (Preset == 1) //Bruz + + #define adjust_bloom 1 + const float bloomFactor = 0.30; + #define HDRpassing 0 + float HDRPower = 1.3; + float radius1 = 0.795; + float radius2 = 0.85; + #define lumapassing 0 + const float sharp_strength = 0.45; + const float sharp_clamp = 0.085; + const float offset_bias = 1.0; + #define Tone_map 8 + const float Exposure = 1.17; + const float Bleach = 0.4; + const float Gamma = 0.9; + 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 1 + const float satFactor = 0.25; + #define blacknwhitepass 1 + const int BlackPoint = 0; + const int WhitePoint = 255; + #define lggpass 1 + 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 1 + const float Power = 8.0; + vec3 RGBNegativeAmount = vec3(0.88, 0.88, 0.88); + float Strength = 0.3; + #define Techine 1 + float Technicolor2_Red_Strength = 0.05; + float Technicolor2_Green_Strength = 0.02; + float Technicolor2_Blue_Strength = 0.12; + float Technicolor2_Brightness = 0.4; + float Technicolor2_Strength = 3.0; + float Technicolor2_Saturation = 1.0; + #define cmatrix 7 + 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 1 + const float Filmic_Strength = 0.60; + const float Filmic_Contrast = 1.03; + const float Fade = 0.0; + const float Linearization = 1.0; + const float Filmic_Bleach = 0.0; + const float Saturation = -0.25; + const float BaseCurve = 1.5; + const float BaseGamma = 1.0; + 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 == 2) //BSoD Gaming + + #define adjust_bloom 1 + const float bloomFactor = 0.010; + #define HDRpassing 1 + const float HDRPower = 1.085; + const float radius1 = 0.793; + const float radius2 = 0.87; + #define lumapassing 1 + const float sharp_strength = 0.25; + const float sharp_clamp = 0.085; + const float offset_bias = 1.0; + #define Tone_map 8 + const float Exposure = 0.6; + const float Bleach = 0.3; + const float Gamma = 1.00; + const float defog = 0.004; + vec3 FogColor = vec3(1.0, 1.5, 1.7); + const float sat = 0.050; + const float crushContrast = 0.000; + #define post_process 0 + const float satFactor = 0.25; + #define blacknwhitepass 0 + const int BlackPoint = 8; + const int WhitePoint = 235; + #define lggpass 1 + vec3 RGB_Lift = vec3(0.994, 0.994, 0.994); + vec3 RGB_Gamma = vec3(1.0, 0.990, 1.0); + vec3 RGB_Gain = vec3(1.0, 0.990, 1.00); + #define vibpass 1 + const float Vibrance = 0.113; + 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.000; + const float Technicolor2_Green_Strength = 0.000; + const float Technicolor2_Blue_Strength = 0.000; + const float Technicolor2_Brightness = 1.0; + const float Technicolor2_Strength = 0.40; + const float Technicolor2_Saturation = 0.70; + #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 1 + 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 = 0.7; + 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 == 3) //Jamie + + #define adjust_bloom 1 + const float bloomFactor = 0.020; + #define HDRpassing 1 + const float HDRPower = 1.00; + const float radius1 = 1.00; + const float radius2 = 0.80; + #define lumapassing 1 + const float sharp_strength = 0.35; + 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.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 1 + const float satFactor = 0.25; + #define blacknwhitepass 0 + const int BlackPoint = 16; + const int WhitePoint = 235; + #define lggpass 1 + vec3 RGB_Lift = vec3(0.980, 0.980, 0.980); + 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 1 + 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 = 0.0; + float Colorfulness = 1.0; + float DPX_Strength = 0.20; + +#elif (Preset == 4) //Contrasty + + #define adjust_bloom 1 + const float bloomFactor = 0.020; + #define HDRpassing 0 + const float HDRPower = 1.00; + const float radius1 = 1.00; + const float radius2 = 0.80; + #define lumapassing 0 + const float sharp_strength = 0.35; + const float sharp_clamp = 0.85; + const float offset_bias = 1.0; + #define Tone_map 1 + const float Exposure = 1.17; + const float Bleach = 0.3; + const float Gamma = 0.810; + 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 1 + 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 1 + 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 == 5) //The Complaining Gamer + + #define adjust_bloom 1 + const float bloomFactor = 0.33; + #define HDRpassing 1 + const float HDRPower = 1.020; + const float radius1 = 0.793; + const float radius2 = 0.87; + #define lumapassing 1 + const float sharp_strength = 0.25; + 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.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 1 + vec3 RGB_Lift = vec3(1.000, 1.000, 1.000); + vec3 RGB_Gamma = vec3(0.600, 0.600, 0.600); + vec3 RGB_Gain = vec3(1.000, 1.000, 1.000); + #define vibpass 1 + 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 1 + const float Technicolor2_Red_Strength = 0.000; + const float Technicolor2_Green_Strength = 0.000; + const float Technicolor2_Blue_Strength = 0.000; + const float Technicolor2_Brightness = 1.0; + const float Technicolor2_Strength = 0.40; + const float Technicolor2_Saturation = 0.51; + #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 1 + 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 == 6) //Filmic + + #define adjust_bloom 1 + const float bloomFactor = 0.020; + #define HDRpassing 1 + const float HDRPower = 1.20; + const float radius1 = 1.00; + const float radius2 = 0.80; + #define lumapassing 1 + const float sharp_strength = 0.35; + 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.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 1 + const float satFactor = 0.25; + #define blacknwhitepass 0 + const int BlackPoint = 16; + const int WhitePoint = 235; + #define lggpass 0 + vec3 RGB_Lift = vec3(0.990, 0.990, 0.990); + vec3 RGB_Gamma = vec3(1.000, 1.000, 1.000); + vec3 RGB_Gain = vec3(1.000, 1.000, 1.000); + #define vibpass 1 + 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 1 + const float Contrast = 0.65; + #define Filmicpass 1 + 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 1 + 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 = 2.0; + float Colorfulness = 1.5; + float DPX_Strength = 0.20; + +#elif (Preset == 7) //CellHunter + + #define adjust_bloom 1 + const float bloomFactor = 0.115; + #define HDRpassing 1 + const float HDRPower = 1.150; + const float radius1 = 1.200; + const float radius2 = 1.000; + #define lumapassing 0 + const float sharp_strength = 0.35; + const float sharp_clamp = 0.85; + const float offset_bias = 1.00; + #define Tone_map 8 + const float Exposure = 1.00; + const float Bleach = 0.0; + const float Gamma = 1.00; + const float defog = 0.003; + 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.05; + #define blacknwhitepass 0 + const int BlackPoint = 16; + const int WhitePoint = 215; + #define lggpass 1 + vec3 RGB_Lift = vec3(1.000, 0.985, 1.000); + vec3 RGB_Gamma = vec3(1.000, 1.000, 1.000); + vec3 RGB_Gain = vec3(1.000, 1.000, 1.000); + #define vibpass 1 + const float Vibrance = 0.735; + vec3 VibranceRGBBalance = vec3(1.0, 1.0, 1.0); + #define Tech 0 + const float Power = 1.0; + vec3 RGBNegativeAmount = vec3(0.88, 0.88, 0.88); + float Strength = 0.05; + #define Techine 1 + const float Technicolor2_Red_Strength = -0.15; + const float Technicolor2_Green_Strength = 0.25; + const float Technicolor2_Blue_Strength = 0.55; + const float Technicolor2_Brightness = 1.65; + 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 1 + const float Contrast = 0.115; + #define Filmicpass 1 + const float Filmic_Contrast = 1.00; + const float Filmic_Bleach = 0.0; + const float Saturation = -0.15; + const float Filmic_Strength = 0.60; + const float Fade = 0.45; + const float Linearization = 0.7; + const float BaseCurve = 0.7; + const float BaseGamma = 1.00; + const float EffectGamma = 1.75; + #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 == 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; + +#elif (Preset == 10) //Serfrost (Other) + + #define adjust_bloom 1 + const float bloomFactor = 0.3; + #define HDRpassing 1 + const float HDRPower = 1.15; + const float radius1 = 0.793; + const float radius2 = 0.87; + #define lumapassing 1 + const float sharp_strength = 0.45; + const float sharp_clamp = 0.085; + const float offset_bias = 1.0; + #define Tone_map 8 + const float Exposure = 1.10; + const float Bleach = 0.1; + const float Gamma = 1.0; + const float defog = 0.0; + 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 = 5; + const int WhitePoint = 210; + #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.3); + #define Tech 1 + const float Power = 6.0; + vec3 RGBNegativeAmount = vec3(0.88, 0.88, 0.88); + float Strength = 0.3; + #define Techine 1 + float Technicolor2_Red_Strength = -0.12; + float Technicolor2_Green_Strength = -0.25; + float Technicolor2_Blue_Strength = -0.15; + float Technicolor2_Brightness = 0.4; + float Technicolor2_Strength = 1.0; + float Technicolor2_Saturation = 0.90; + #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.5; + #define Filmicpass 1 + const float Filmic_Contrast = 1.03; + const float Filmic_Bleach = 0.0; + const float Saturation = -0.35; + const float Filmic_Strength = 0.60; + const float Fade = 0.1; + const float Linearization = 1.0; + const float BaseCurve = 1.5; + const float BaseGamma = 1.0; + 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 = 1.0; + float DPX_Strength = 0.20; + +#elif (Preset == 11) //ViskClarity + #define adjust_bloom 1 + const float bloomFactor = 4.050; + #define HDRpassing 1 + const float HDRPower = 1.3; + const float radius1 = 0.793; + const float radius2 = 0.87; + #define lumapassing 1 + const float sharp_strength = 0.50; + const float sharp_clamp = 0.085; + const float offset_bias = 0.0; + #define Tone_map 8 + const float Exposure = 0.6; + const float Bleach = 0.2; + const float Gamma = 1.00; + const float defog = 0.004; + vec3 FogColor = vec3(1.0, 1.5, 1.7); + const float sat = 0.050; + const float crushContrast = 0.000; + #define post_process 0 + const float satFactor = 0; + #define blacknwhitepass 1 + const int BlackPoint = 2; + const int WhitePoint = 285; + #define lggpass 1 + vec3 RGB_Lift = vec3(0.994, 0.994, 0.994); + vec3 RGB_Gamma = vec3(1.0, 0.990, 1.0); + vec3 RGB_Gain = vec3(1.0, 0.990, 1.00); + #define vibpass 1 + const float Vibrance = 0.500; + vec3 VibranceRGBBalance = vec3(1.0, 1.0, 1.0); + #define Tech 1 + const float Power = 4.0; + vec3 RGBNegativeAmount = vec3(0.88, 0.88, 0.88); + float Strength = 0.20; + #define Techine 1 + const float Technicolor2_Red_Strength = 0.000; + const float Technicolor2_Green_Strength = 0.000; + const float Technicolor2_Blue_Strength = 0.000; + const float Technicolor2_Brightness = 0.0; + const float Technicolor2_Strength = 0.40; + 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 1 + const float Contrast = -0.35; + #define Filmicpass 1 + const float Filmic_Contrast = 1.0; + const float Filmic_Bleach = 0.0; + const float Saturation = 0; + const float Filmic_Strength = 0.85; + const float Fade = 0.1; + const float Linearization = 0.5; + const float BaseCurve = 1.5; + const float BaseGamma = 0.7; + const float EffectGamma = 0.65; + #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 = 1.5; + float DPX_Saturation = 0.8; + float Colorfulness = 0.8; + float DPX_Strength = 0.50; + +#endif + +//########################################################### + +//Never touch anything below this line unless you plan to break and fix things. + +//########################################################### + +uniform ivec4 uf_remappedPS[1]; +layout(binding = 0) uniform sampler2D textureUnitPS0; // Bloom +layout(binding = 1) uniform sampler2D textureUnitPS1;// HDR LumaShapening. +layout(location = 0) in vec4 passParameterSem0; +layout(location = 0) out vec4 passPixelColor0; +uniform vec2 uf_fragCoordScale; + +//ToneMapping + +vec3 linearToneMapping(vec3 color) +{ + float exposure = 1.; + color = clamp(exposure * color, 0., 1.); + color = pow(color, vec3(1. / Gamma)); + return color; +} + +vec3 simpleReinhardToneMapping(vec3 color) +{ + float exposure = 1.5; + color *= exposure / (1. + color / exposure); + color = pow(color, vec3(1. / Gamma)); + return color; +} + +vec3 lumaBasedReinhardToneMapping(vec3 color) +{ + float luma = dot(color, vec3(0.2126, 0.7152, 0.0722)); + float toneMappedLuma = luma / (1. + luma); + color *= toneMappedLuma / luma; + color = pow(color, vec3(1. / Gamma)); + return color; +} + +vec3 whitePreservingLumaBasedReinhardToneMapping(vec3 color) +{ + float white = 2.; + float luma = dot(color, vec3(0.2126, 0.7152, 0.0722)); + float toneMappedLuma = luma * (1. + luma / (white*white)) / (1. + luma); + color *= toneMappedLuma / luma; + color = pow(color, vec3(1. / Gamma)); + return color; +} + +vec3 RomBinDaHouseToneMapping(vec3 color) +{ + color = exp(-1.0 / (2.72*color + 0.15)); + color = pow(color, vec3(1. / Gamma)); + return color; +} + +vec3 filmicToneMapping(vec3 color) +{ + color = max(vec3(0.), color - vec3(0.004)); + color = (color * (6.2 * color + .5)) / (color * (6.2 * color + 1.7) + 0.06); + return color; +} + +vec3 Uncharted2ToneMapping(vec3 color) +{ + float A = 0.15; + float B = 0.50; + float C = 0.10; + float D = 0.20; + float E = 0.02; + float F = 0.30; + float W = 11.2; + float exposure = 2.; + color *= exposure; + color = ((color * (A * color + C * B) + D * E) / (color * (A * color + B) + D * F)) - E / F; + float white = ((W * (A * W + C * B) + D * E) / (W * (A * W + B) + D * F)) - E / F; + color /= white; + color = pow(color, vec3(1. / Gamma)); + return color; +} + +vec3 ReshadeToneMap(vec3 inputColor) { + vec3 color = inputColor; + color = clamp(color - defog * FogColor * 2.55, 0.0, 1.0); // defog + color *= Exposure / (1.0 + color / Exposure); + color = pow(color, vec3(1. / Gamma)); // Gamma + + 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; + + color = (color + diffcolor * sat) / (1 + (diffcolor * sat)); // saturation + + return color; +} + +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; +} + +//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; +} + +//TECHNICOLOR2 + +vec3 Technicolor2(vec3 inputColor) { + vec3 color = inputColor; + vec3 Color_Strength = vec3(Technicolor2_Red_Strength, Technicolor2_Green_Strength, Technicolor2_Blue_Strength); + vec3 source = color; + vec3 temp = 1.0 - source; + vec3 target = temp.grg; + vec3 target2 = temp.bbr; + vec3 temp2 = source * target; + temp2 *= target2; + + temp = temp2 * Color_Strength; + temp2 *= Technicolor2_Brightness; + + target = temp.grg; + target2 = temp.bbr; + + temp = source - target; + temp += temp2; + temp2 = temp - target2; + + color = mix(source, temp2, Technicolor2_Strength); + + color = mix(vec3(dot(color, vec3(0.333))), color, Technicolor2_Saturation); + + return color; +} + +//Technicolor +vec3 TechnicolorPass(vec3 color) +{ + + const vec3 cyanfilter = vec3(0.0, 1.30, 1.0); + const vec3 magentafilter = vec3(1.0, 0.0, 1.05); + const vec3 yellowfilter = vec3(1.6, 1.6, 0.05); + const vec2 redorangefilter = vec2(1.05, 0.620); // RG_ + const vec2 greenfilter = vec2(0.30, 1.0); // RG_ + const vec2 magentafilter2 = magentafilter.rb; // R_B + + vec3 tcol = color.rgb; + + vec2 negative_mul_r = tcol.rg * (1.0 / (RGBNegativeAmount.r * Power)); + vec2 negative_mul_g = tcol.rg * (1.0 / (RGBNegativeAmount.g * Power)); + vec2 negative_mul_b = tcol.rb * (1.0 / (RGBNegativeAmount.b * Power)); + vec3 output_r = dot(redorangefilter, negative_mul_r).xxx + cyanfilter; + vec3 output_g = dot(greenfilter, negative_mul_g).xxx + magentafilter; + vec3 output_b = dot(magentafilter2, negative_mul_b).xxx + yellowfilter; + + return mix(tcol, output_r * output_g * output_b, Strength); +} + +//ColorMatrix +vec3 ColorMatrixPass(vec3 inputColor) +{ + vec3 color = inputColor; + + const mat3 ColorMatrix = mat3(ColorMatrix_Red, ColorMatrix_Green, ColorMatrix_Blue); + //color = mix(color, * (ColorMatrix, color), CM_Strength); + color *= mix(color, (ColorMatrix, color), CM_Strength); + return clamp(color, 0.0, 1.); +} + +// Contrasty + +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 = VibranceRGBBalance * 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; +} + +// Levels + +vec3 LevelsPass(vec3 inputColor) { + float black_point_float = BlackPoint / 255.0; + float white_point_float = WhitePoint == BlackPoint ? (255.0 / 0.00025) : (255.0 / (WhitePoint - BlackPoint)); // Avoid division by zero if the white and black point are the same + + vec3 color = inputColor; + color = color * white_point_float - (black_point_float * white_point_float); + + return color; +} + +//FilmPass +vec3 FilmPass(vec3 inputColor) { + + vec3 B = inputColor.rgb; + vec3 G = B; + vec3 H = vec3(0.01); + + B = clamp(B, 0.0, 1.); + B = pow(vec3(B), vec3(Linearization)); + B = mix(H, B, Filmic_Contrast); + + vec3 LumCoeff = vec3(0.2126, 0.7152, 0.0722); + float A = dot(B.rgb, LumCoeff); + vec3 D = vec3(A); + + B = pow(B, 1.0 / vec3(BaseGamma)); + + float RedCurve = 1.0; + float GreenCurve = 1.0; + float BlueCurve = 1.0; + float a = RedCurve; + float b = GreenCurve; + float c = BlueCurve; + float d = BaseCurve; + + float y = 1.0 / (1.0 + exp(a / 2.0)); + float z = 1.0 / (1.0 + exp(b / 2.0)); + float w = 1.0 / (1.0 + exp(c / 2.0)); + float v = 1.0 / (1.0 + exp(d / 2.0)); + + vec3 C = B; + + D.r = (1.0 / (1.0 + exp(-a * (D.r - 0.5))) - y) / (1.0 - 2.0 * y); + D.g = (1.0 / (1.0 + exp(-b * (D.g - 0.5))) - z) / (1.0 - 2.0 * z); + D.b = (1.0 / (1.0 + exp(-c * (D.b - 0.5))) - w) / (1.0 - 2.0 * w); + + D = pow(D, 1.0 / vec3(EffectGamma)); + + vec3 Di = 1.0 - D; + + D = mix(D, Di, Filmic_Bleach); + float EffectGammaR = 1.0; + float EffectGammaG = 1.0; + float EffectGammaB = 1.0; + D.r = pow(abs(D.r), 1.0 / EffectGammaR); + D.g = pow(abs(D.g), 1.0 / EffectGammaG); + D.b = pow(abs(D.b), 1.0 / EffectGammaB); + + if (D.r < 0.5) + C.r = (2.0 * D.r - 1.0) * (B.r - B.r * B.r) + B.r; + else + C.r = (2.0 * D.r - 1.0) * (sqrt(B.r) - B.r) + B.r; + + if (D.g < 0.5) + C.g = (2.0 * D.g - 1.0) * (B.g - B.g * B.g) + B.g; + else + C.g = (2.0 * D.g - 1.0) * (sqrt(B.g) - B.g) + B.g; + + if (D.b < 0.5) + C.b = (2.0 * D.b - 1.0) * (B.b - B.b * B.b) + B.b; + else + C.b = (2.0 * D.b - 1.0) * (sqrt(B.b) - B.b) + B.b; + + vec3 F = mix(B, C, Filmic_Strength); + + F = (1.0 / (1.0 + exp(-d * (F - 0.5))) - v) / (1.0 - 2.0 * v); + + float r2R = 1.0 - Saturation; + float g2R = 0.0 + Saturation; + float b2R = 0.0 + Saturation; + + float r2G = 0.0 + Saturation; + float g2G = (1.0 - Fade) - Saturation; + float b2G = (0.0 + Fade) + Saturation; + + float r2B = 0.0 + Saturation; + float g2B = (0.0 + Fade) + Saturation; + float b2B = (1.0 - Fade) - Saturation; + + vec3 iF = F; + + F.r = (iF.r * r2R + iF.g * g2R + iF.b * b2R); + F.g = (iF.r * r2G + iF.g * g2G + iF.b * b2G); + F.b = (iF.r * r2B + iF.g * g2B + iF.b * b2B); + + float N = dot(F.rgb, LumCoeff); + vec3 Cn = F; + + if (N < 0.5) + Cn = (2.0 * N - 1.0) * (F - F * F) + F; + else + Cn = (2.0 * N - 1.0) * (sqrt(F) - F) + F; + + Cn = pow(max(Cn, 0), 1.0 / vec3(Linearization)); + + vec3 Fn = mix(B, Cn, Filmic_Strength); + return Fn; +} + +//DPX +const mat3 RGB = mat3( + 2.6714711726599600, -1.2672360578624100, -0.4109956021722270, + -1.0251070293466400, 1.9840911624108900, 0.0439502493584124, + 0.0610009456429445, -0.2236707508128630, 1.1590210416706100 +); +const mat3 XYZ = mat3( + 0.5003033835433160, 0.3380975732227390, 0.1645897795458570, + 0.2579688942747580, 0.6761952591447060, 0.0658358459823868, + 0.0234517888692628, 0.1126992737203000, 0.8668396731242010 +); +vec3 DPXPass(vec3 inputColor) +{ + vec3 color = inputColor; + + vec3 B = color; + B = B * (1.0 - DPX_Contrast) + (0.5 * DPX_Contrast); + vec3 Btemp = (1.0 / (1.0 + exp(RGB_Curve / 2.0))); + B = ((1.0 / (1.0 + exp(-RGB_Curve * (B - RGB_C)))) / (-2.0 * Btemp + 1.0)) + (-Btemp / (-2.0 * Btemp + 1.0)); + + float value = max(max(B.r, B.g), B.b); + vec3 Ztemp = B / value; + color = pow(abs(color), 1. / vec3(Colorfulness)); + + vec3 c0 = Ztemp * value; + c0 *= (XYZ, c0); + float luma = dot(c0, vec3(0.30, 0.59, 0.11)); + c0 = (1.0 - DPX_Saturation) * luma + DPX_Saturation * c0; + c0 *= (RGB, c0); + + return mix(color, c0, DPX_Strength); +} + +//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; +} + +//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; +} + +void main() +{ + //Bloom + vec3 bloom = texture(textureUnitPS0, passParameterSem0.xy).xyz; +#if (adjust_bloom == 1) + bloom *= bloomFactor; +#endif + + //HDR and LumaShapening +#if (HDRpassing == 1) + passPixelColor0.xyz = HDRPass(textureUnitPS1, passParameterSem0.xy).xyz; +#endif +#if (HDRpassing == 0) + passPixelColor0.xyz = texture(textureUnitPS1, passParameterSem0.xy).xyz; +#endif +#if (lumapassing == 1) + float smask = lumasharping(textureUnitPS1, passParameterSem0.xy); + passPixelColor0.xyz += vec3(smask); +#endif + + // Do not edit this + vec3 color = (passPixelColor0.xyz); + color += bloom; + //++++++++++++++++++++++++++++++++++ + + // Tonemapping +#if (Tone_map == -1) + color = clamp(color*Exposure, 0.0, 1.0); +#elif (Tone_map == 0) + color = BotWToneMap(color); +#elif (Tone_map == 1) + color = ReshadeToneMap(color); +#elif (Tone_map == 2) + color = linearToneMapping(color); +#elif (Tone_map == 3) + color = simpleReinhardToneMapping(color); +#elif (Tone_map == 4) + color = lumaBasedReinhardToneMapping(color); +#elif (Tone_map == 5) + color = whitePreservingLumaBasedReinhardToneMapping(color); +#elif (Tone_map == 6) + color = RomBinDaHouseToneMapping(color); +#elif (Tone_map == 7) + color = filmicToneMapping(color); +#elif (Tone_map == 8) + color = Uncharted2ToneMapping(color); +#elif (tone_mapping == 9) + color = ACESFilm(color); +#endif + + // Levels Control if we tone map to 16-235 , 0 - 255 or usr defined range. +#if (blacknwhitepass == 1) + color = LevelsPass(color); +#endif + + // Color matrix +#if (cmatrix == 1) + color = ColorMatrixPass(color); +#endif + + + // Post Processing +#if (Tech == 1) + color = TechnicolorPass(color); +#endif +#if (Techine == 1) + color = Technicolor2(color); +#endif +#if (post_process == 0) + color = BotWVibrance(color); +#endif +#if (post_process == 1) + color = Contrasty(color); +#endif +#if (dpxpass == 1) + color = DPXPass(color); +#endif +#if (Filmicpass == 1) + color = FilmPass(color); +#endif +#if (lggpass == 1) + color = LiftGammaGainPass(color); +#endif +#if (CurvesPss == 1) + color = CurvesPass(color); +#endif +#if (vibpass == 1) + color = VibrancePass(color); +#endif + passPixelColor0 = vec4(color, passParameterSem0.w); } \ No newline at end of file diff --git a/Enhancements/TokyoMirage_AdjustBlur/4d96f8f88575bcab_00000000000003c9_ps.txt b/Enhancements/TokyoMirage_AdjustBlur/4d96f8f88575bcab_00000000000003c9_ps.txt index 20bfcb1d..f520969e 100644 --- a/Enhancements/TokyoMirage_AdjustBlur/4d96f8f88575bcab_00000000000003c9_ps.txt +++ b/Enhancements/TokyoMirage_AdjustBlur/4d96f8f88575bcab_00000000000003c9_ps.txt @@ -1,99 +1,99 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 4d96f8f88575bcab -- Used to blur out the main frame in various cutscenes - -float blur = $Blur; - -uniform ivec4 uf_remappedPS[1]; -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4fa8000 res 1280x720x1 dim 1 tm: 4 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 0xf4c24000 res 640x360x1 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(location = 0) in vec4 passParameterSem136; -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 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[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); -if( activeMaskStackC[1] == true ) { -R0i.w = floatBitsToInt(textureLod(textureUnitPS1, intBitsToFloat(R0i.xy),0.0).x); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R1i.w = int(-1); -// 1 -predResult = (intBitsToFloat(0x3f7ff972) >= 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 -PV0i.y = ((intBitsToFloat(uf_remappedPS[0].y) >= intBitsToFloat(R0i.w))?int(0xFFFFFFFF):int(0x0)); -PV0i.z = ((intBitsToFloat(R0i.w) >= intBitsToFloat(uf_remappedPS[0].x))?int(0xFFFFFFFF):int(0x0)); -// 1 -R123i.x = ((PV0i.z == 0)?(0):(PV0i.y)); -PV1i.x = R123i.x; -// 2 -R1i.w = ((PV1i.x == 0)?(0):(int(-1))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -if( (R1i.w != 0)) discard; -} -if( activeMaskStackC[1] == true ) { -R0i.xyz = floatBitsToInt(textureLod(textureUnitPS2, intBitsToFloat(R0i.xy),0.0).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -R127i.x = ((intBitsToFloat(uf_remappedPS[0].x) > intBitsToFloat(R0i.w))?int(0xFFFFFFFF):int(0x0)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(R0i.w)) + intBitsToFloat(uf_remappedPS[0].x)); -PV0i.z = floatBitsToInt(intBitsToFloat(R0i.w) + -(intBitsToFloat(uf_remappedPS[0].y))); -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z), intBitsToFloat(PV0i.y))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w), intBitsToFloat(PV0i.z))); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -// 3 -R0i.w = ((R127i.x == 0)?(PV0i.x):(PV0i.w)); -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w) * blur ); -} +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +// shader 4d96f8f88575bcab -- Used to blur out the main frame in various cutscenes + +float blur = $Blur; + +uniform ivec4 uf_remappedPS[1]; +layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4fa8000 res 1280x720x1 dim 1 tm: 4 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 0xf4c24000 res 640x360x1 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(location = 0) in vec4 passParameterSem136; +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 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[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); +if( activeMaskStackC[1] == true ) { +R0i.w = floatBitsToInt(textureLod(textureUnitPS1, intBitsToFloat(R0i.xy),0.0).x); +} +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +R1i.w = int(-1); +// 1 +predResult = (intBitsToFloat(0x3f7ff972) >= 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 +PV0i.y = ((intBitsToFloat(uf_remappedPS[0].y) >= intBitsToFloat(R0i.w))?int(0xFFFFFFFF):int(0x0)); +PV0i.z = ((intBitsToFloat(R0i.w) >= intBitsToFloat(uf_remappedPS[0].x))?int(0xFFFFFFFF):int(0x0)); +// 1 +R123i.x = ((PV0i.z == 0)?(0):(PV0i.y)); +PV1i.x = R123i.x; +// 2 +R1i.w = ((PV1i.x == 0)?(0):(int(-1))); +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +if( activeMaskStackC[1] == true ) { +// 0 +if( (R1i.w != 0)) discard; +} +if( activeMaskStackC[1] == true ) { +R0i.xyz = floatBitsToInt(textureLod(textureUnitPS2, intBitsToFloat(R0i.xy),0.0).xyz); +} +if( activeMaskStackC[1] == true ) { +// 0 +R127i.x = ((intBitsToFloat(uf_remappedPS[0].x) > intBitsToFloat(R0i.w))?int(0xFFFFFFFF):int(0x0)); +PV0i.y = floatBitsToInt(-(intBitsToFloat(R0i.w)) + intBitsToFloat(uf_remappedPS[0].x)); +PV0i.z = floatBitsToInt(intBitsToFloat(R0i.w) + -(intBitsToFloat(uf_remappedPS[0].y))); +// 1 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z), intBitsToFloat(PV0i.y))); +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w), intBitsToFloat(PV0i.z))); +// 2 +PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); +PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); +// 3 +R0i.w = ((R127i.x == 0)?(PV0i.x):(PV0i.w)); +} +// export +passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w) * blur ); +} diff --git a/Workarounds/BreathOfTheWild_Intel_FlippedLights/317f0bb42d413218_000000000001fe49_ps.txt b/Workarounds/BreathOfTheWild_Intel_FlippedLights/317f0bb42d413218_000000000001fe49_ps.txt index c38c06ee..d5b4f729 100644 --- a/Workarounds/BreathOfTheWild_Intel_FlippedLights/317f0bb42d413218_000000000001fe49_ps.txt +++ b/Workarounds/BreathOfTheWild_Intel_FlippedLights/317f0bb42d413218_000000000001fe49_ps.txt @@ -1,596 +1,596 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 317f0bb42d413218 -// Used to clean up shrine elevator lights flip -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 0x3d4f5000 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 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(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem0); -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.z = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(0xbc23d70a)); -PV0i.w = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(0xbc23d70a)); -R2i.y = floatBitsToInt((1.0 / intBitsToFloat(uf_remappedPS[0].w))); -PS0i = R2i.y; -// 1 -// -0.01 0xbc23d70a -// -0.02 0xbca3d70a -// -0.05 0xbd4ccccd -// -0.1 0xbdcccccd -// -0.5 0xbf000000 -// 6 0x40c00000 -// 7 0x40a00000 -// 7.5 0x40f00000 -// 8 0x41000000 -// 9 0x41100000 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w) , intBitsToFloat(uf_remappedPS[1].z) ) ); -// seems we need to shift by dec 7.5 or hex 0x41100000 for unknown reasons. probably related to scale probably breaks on increased resolutions. -R0i.y = floatBitsToInt(1-mul_nonIEEE(intBitsToFloat(PV0i.z) - intBitsToFloat(0x40f00000), intBitsToFloat(uf_remappedPS[1].w)) ); -} -if( activeMaskStackC[1] == true ) { -R2i.x = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R0i.xy)).x); -R0i.xyzw = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R0i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt((intBitsToFloat(R0i.x) * 2.0 + -(1.0))); -R127i.y = floatBitsToInt((intBitsToFloat(R0i.y) * 2.0 + -(1.0))); -R127i.z = floatBitsToInt((intBitsToFloat(R0i.z) * 2.0 + -(1.0))); -PV0i.z = R127i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),intBitsToFloat(R2i.x)) + intBitsToFloat(uf_remappedPS[2].x))); -PV0i.w = R123i.w; -// 1 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), -(intBitsToFloat(PV0i.w)))); -PV1i.x = R125i.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), -(intBitsToFloat(PV0i.w)))); -PV1i.y = R126i.y; -R126i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w))); -PV1i.z = R126i.z; -PS1i = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(PV0i.z)); -// 2 -R5i.x = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + intBitsToFloat(uf_remappedPS[3].x)); -PV0i.x = R5i.x; -R7i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(uf_remappedPS[3].y)); -PV0i.y = R7i.y; -R7i.z = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(uf_remappedPS[3].z)); -PV0i.z = R7i.z; -R122i.x = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(R127i.y) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),-0.0),vec4(intBitsToFloat(uf_remappedPS[0].x),intBitsToFloat(uf_remappedPS[0].y),intBitsToFloat(uf_remappedPS[0].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(R127i.x) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 4 -R126i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(R2i.y)); -R126i.x = clampFI32(R126i.x); -PV0i.x = R126i.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PS1i)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),intBitsToFloat(PV0i.x)) + intBitsToFloat(uf_remappedPS[3].y))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].x),intBitsToFloat(PV0i.x)) + intBitsToFloat(uf_remappedPS[3].x))); -PV1i.w = R123i.w; -R8i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -PS1i = R8i.z; -// 6 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(intBitsToFloat(R126i.y) + -(intBitsToFloat(PV1i.w))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),intBitsToFloat(backupReg0i)) + intBitsToFloat(uf_remappedPS[3].z))); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt(intBitsToFloat(R125i.x) + -(intBitsToFloat(PV1i.z))); -// 7 -backupReg0i = R126i.z; -R126i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(PV0i.y))); -PV1i.z = R126i.z; -// 8 -tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R126i.x)),-(intBitsToFloat(R127i.z)),-(intBitsToFloat(PV1i.z)),-0.0),vec4(-(intBitsToFloat(R126i.x)),-(intBitsToFloat(R127i.z)),-(intBitsToFloat(PV1i.z)),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R7i.w = tempi.x; -// 9 -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 10 -R6i.x = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R126i.x)), intBitsToFloat(PS1i))); -R6i.y = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R127i.z)), intBitsToFloat(PS1i))); -R6i.z = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R126i.z)), intBitsToFloat(PS1i))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(uf_remappedPS[4].w))); -PV0i.w = R5i.w; -// 11 -R6i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R6i.w; -// 12 -predResult = (intBitsToFloat(R5i.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 -PV0i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[0].z) + intBitsToFloat(R6i.z)); -PV0i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[0].y) + intBitsToFloat(R6i.y)); -PV0i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[0].x) + intBitsToFloat(R6i.x)); -R1i.w = 0x3f800000; -PS0i = R1i.w; -// 1 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R6i.w)) + -(intBitsToFloat(uf_remappedPS[0].x)))); -PV1i.x = R127i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R6i.w)) + -(intBitsToFloat(uf_remappedPS[0].y)))); -PV1i.y = R127i.y; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R6i.w)) + -(intBitsToFloat(uf_remappedPS[0].z)))); -PV1i.z = R127i.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; -// 3 -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 4 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -// 5 -R5i.w = R1i.w; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R6i.w; -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.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; -R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(uf_remappedPS[5].x)) + intBitsToFloat(uf_remappedPS[5].y))); -PS0i = R2i.x; -// 1 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.x), -(1.0))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R0i.w)) + 1.0); -PV1i.y = R3i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R1i.x)) + 1.0)); -PV1i.z = R123i.z; -R2i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[6].x)) + intBitsToFloat(uf_remappedPS[7].x)); -R4i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[6].y)) + intBitsToFloat(uf_remappedPS[7].y)); -PS1i = R4i.y; -// 2 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.y) * 0.5 + 0.5)); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.y)) + intBitsToFloat(0x3d4ccccd))); -R123i.z = clampFI32(R123i.z); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R2i.z = 0; -PS0i = R2i.z; -// 3 -backupReg0i = R1i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); -PV1i.x = R127i.x; -R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(uf_remappedPS[5].z)) + intBitsToFloat(uf_remappedPS[5].w))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -R4i.z = floatBitsToInt(intBitsToFloat(R4i.z) / 2.0); -PV1i.z = R4i.z; -R1i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x40400000)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.y)); -PS1i = floatBitsToInt(tempResultf); -// 4 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -PV0i.x = R4i.x; -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PS1i))); -PV0i.y = R5i.y; -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS1i))); -PV0i.z = R5i.z; -R4i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + -(1.0)); -R3i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -PS0i = R3i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.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; -R6i.y = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(0x3ea2f983)); -PS1i = R6i.y; -// 6 -R0i.x = floatBitsToInt(intBitsToFloat(R6i.w) + intBitsToFloat(0xbf666666)); -R0i.y = PV1i.x; -R0i.y = clampFI32(R0i.y); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(R5i.w))); -R0i.w = PV1i.x; -R0i.w = floatBitsToInt(intBitsToFloat(R0i.w) * 2.0); -R3i.x = floatBitsToInt(-(intBitsToFloat(R1i.x)) + intBitsToFloat(uf_remappedPS[6].x)); -PS0i = R3i.x; -} -if( activeMaskStackC[1] == true ) { -R3i.z = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R2i.xy)).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(R0i.w)) + -(intBitsToFloat(R4i.x)))); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R0i.w)) + -(intBitsToFloat(R5i.y)))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(R0i.w)) + -(intBitsToFloat(R5i.z)))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(R3i.w)) + intBitsToFloat(R4i.z))); -PV0i.w = R123i.w; -R126i.x = floatBitsToInt(intBitsToFloat(R0i.x) * intBitsToFloat(0x40a00000)); -R126i.x = clampFI32(R126i.x); -PS0i = R126i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[0].x),intBitsToFloat(uf_remappedPS[0].y),intBitsToFloat(uf_remappedPS[0].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R0i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R0i.y; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[0].x),intBitsToFloat(uf_remappedPS[0].y),intBitsToFloat(uf_remappedPS[0].z),-0.0),vec4(intBitsToFloat(R124i.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; -R127i.w = tempi.x; -R125i.x = floatBitsToInt(1.0 / intBitsToFloat(R1i.w)); -PS0i = R125i.x; -// 3 -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R126i.y),intBitsToFloat(R126i.z),0.0))); -PV1i.x = R127i.x; -PV1i.y = R127i.x; -PV1i.z = R127i.x; -PV1i.w = R127i.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PV0i.x))); -PS1i = R127i.z; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R5i.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; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PV1i.x))); -// 5 -backupReg0i = R127i.x; -backupReg1i = R127i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R127i.w)) + intBitsToFloat(PS0i))); -R125i.y = floatBitsToInt(-(intBitsToFloat(R1i.y)) + intBitsToFloat(uf_remappedPS[6].y)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R126i.x))); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[0].w)),intBitsToFloat(backupReg0i)) + intBitsToFloat(backupReg1i))); -PV1i.w = R123i.w; -R127i.w = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(R125i.x)); -R127i.w = clampFI32(R127i.w); -PS1i = R127i.w; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.w),intBitsToFloat(R4i.y),intBitsToFloat(R2i.z),-0.0),vec4(intBitsToFloat(R2i.w),intBitsToFloat(R4i.y),intBitsToFloat(R4i.y),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -// 7 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(uf_remappedPS[8].y))); -R127i.x = clampFI32(R127i.x); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(uf_remappedPS[9].y))); -R124i.z = ((intBitsToFloat(R2i.x) > intBitsToFloat(uf_remappedPS[9].x))?int(0xFFFFFFFF):int(0x0)); -R1i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PS0i)); -PV1i.w = R1i.w; -R126i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R126i.w; -// 8 -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].x),intBitsToFloat(PV1i.w)) + intBitsToFloat(R5i.x))); -PV0i.x = R126i.x; -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),intBitsToFloat(PV1i.w)) + intBitsToFloat(R7i.y))); -PV0i.y = R124i.y; -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),intBitsToFloat(PV1i.w)) + intBitsToFloat(R7i.z))); -PV0i.z = R0i.z; -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -PV0i.w = clampFI32(PV0i.w); -R125i.z = floatBitsToInt(1.0 / intBitsToFloat(R127i.w)); -PS0i = R125i.z; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.x),intBitsToFloat(R126i.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; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R127i.z))); -PS1i = R1i.z; -// 10 -backupReg0i = R126i.y; -backupReg1i = R125i.z; -backupReg2i = R127i.x; -backupReg2i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(PV1i.x)) + -(intBitsToFloat(R126i.x)))); -PV0i.x = R127i.x; -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PV1i.x)) + -(intBitsToFloat(R124i.y)))); -PV0i.y = R126i.y; -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(PV1i.x)) + -(intBitsToFloat(R0i.z)))); -PV0i.z = R125i.z; -R5i.w = floatBitsToInt(intBitsToFloat(R3i.y) * intBitsToFloat(backupReg1i)); -R126i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(backupReg2i)),intBitsToFloat(backupReg2i)) + 1.0)); -PS0i = R126i.z; -// 11 -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(uf_remappedPS[6].z)) + intBitsToFloat(uf_remappedPS[7].z)); -PS1i = R127i.w; -// 12 -tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R125i.y)),-(intBitsToFloat(R125i.y)),-0.0),vec4(intBitsToFloat(R2i.w),intBitsToFloat(R4i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 13 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R127i.y))); -R127i.y = floatBitsToInt(max(-(intBitsToFloat(R6i.z)), 0.0)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(R126i.w)); -PV1i.z = clampFI32(PV1i.z); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(R126i.z))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 14 -backupReg0i = R124i.z; -PV0i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[4].w) * intBitsToFloat(PS1i)); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(R3i.x))); -PV0i.y = R123i.y; -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(PV1i.z)) + intBitsToFloat(R125i.y))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(uf_remappedPS[6].z))); -R2i.w = ((backupReg0i == 0)?(R3i.z):(PV1i.x)); -PS0i = R2i.w; -// 15 -backupReg0i = R0i.w; -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + -(1.0)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -R126i.z = floatBitsToInt(min(intBitsToFloat(R127i.y), 1.0)); -PV1i.w = PV0i.x; -PV1i.w = clampFI32(PV1i.w); -R124i.x = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + 1.0); -PS1i = R124i.x; -// 16 -backupReg0i = R127i.x; -backupReg1i = R126i.y; -backupReg2i = R125i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PV1i.w)) + intBitsToFloat(R126i.x))); -PV0i.x = R127i.x; -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PV1i.w)) + intBitsToFloat(R124i.y))); -PV0i.y = R126i.y; -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg2i),intBitsToFloat(PV1i.w)) + intBitsToFloat(R0i.z))); -PV0i.z = R125i.z; -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.z),intBitsToFloat(R124i.z)) + intBitsToFloat(PV1i.y))); -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.w; -// 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; -R124i.z = ((0.0 > intBitsToFloat(PS0i))?int(0xFFFFFFFF):int(0x0)); -PS1i = R124i.z; -// 18 -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.w) * -(1.0)); -R8i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(R124i.x)) + intBitsToFloat(R0i.w))); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 19 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); -PV1i.x = R3i.x; -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS0i))); -PV1i.y = R3i.y; -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PS0i))); -PV1i.z = R0i.z; -R123i.w = ((R124i.z == 0)?(R127i.w):(PV0i.y)); -PV1i.w = R123i.w; -R7i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.w)),intBitsToFloat(R125i.w)) + 1.0)); -R7i.w = clampFI32(R7i.w); -PS1i = R7i.w; -// 20 -R2i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV1i.x)); -PV0i.x = R2i.x; -R2i.y = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R2i.y; -R3i.z = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.z)); -PV0i.z = R3i.z; -R6i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R6i.w = clampFI32(R6i.w); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].x), intBitsToFloat(R2i.w))); -PS0i = R2i.z; -// 21 -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; -R4i.y = tempi.x; -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y), intBitsToFloat(R2i.w))); -PS1i = R1i.y; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.z; -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(backupReg0i),0.0))); -R126i.x = clampFI32(R126i.x); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(R4i.y)); -PS0i = floatBitsToInt(tempResultf); -// 1 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(PS0i))); -PV1i.x = R127i.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(PS0i))); -PV1i.y = R126i.y; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PS0i))); -PV1i.z = R125i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R3i.w)) + intBitsToFloat(R4i.z))); -PV1i.w = R123i.w; -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z), intBitsToFloat(R2i.w))); -PS1i = R124i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.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.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -PS0i = R127i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.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; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -// 4 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(R127i.w))); -R126i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -PV0i.y = R126i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(PS1i)) + 1.0)); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) * intBitsToFloat(0x3ea2f983)); -R125i.z = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(0x3ea2f983)); -PS0i = R125i.z; -// 5 -backupReg0i = R124i.x; -backupReg1i = R0i.w; -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -PV1i.x = R124i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); -R124i.z = floatBitsToInt((intBitsToFloat(R1i.w) * intBitsToFloat(0x41200000) + 1.0)); -R124i.z = clampFI32(R124i.z); -PV1i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3ea2f983)); -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PV0i.w))); -PS1i = R2i.x; -// 6 -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), intBitsToFloat(R125i.z))); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), intBitsToFloat(PV1i.w))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV1i.x))); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y)); -// 7 -backupReg0i = R124i.x; -R124i.x = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.w))); -R2i.w = 0; -// 8 -R123i.y = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x3f75c28f) + intBitsToFloat(0x3d23d70a))); -PV0i.y = R123i.y; -// 9 -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(PV0i.y))); -// 10 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV1i.z))); -// 11 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) * 0.25); -// 12 -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV1i.x))); -// 13 -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV0i.w))); -// 14 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PV1i.z))); -// 15 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), intBitsToFloat(PV0i.y))); -// 16 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z), intBitsToFloat(PV1i.x))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y), intBitsToFloat(PV1i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].x), intBitsToFloat(PV1i.x))); -// 17 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(PV0i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(PV0i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(PV0i.z))); -// 18 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(PV1i.w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(PV1i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(PV1i.z))); -// 19 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(PV0i.x))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(PV0i.w))); -// 20 -R1i.xyz = ivec3(R2i.x,R2i.y,R2i.z); -R1i.w = R2i.w; -// 21 -R2i.xyz = ivec3(R0i.x,R0i.y,R0i.z); -R2i.w = R0i.w; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -passPixelColor1 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -} +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +// shader 317f0bb42d413218 +// Used to clean up shrine elevator lights flip +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 0x3d4f5000 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 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(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); +R1i = floatBitsToInt(passParameterSem0); +if( activeMaskStackC[1] == true ) { +// 0 +PV0i.z = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(0xbc23d70a)); +PV0i.w = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(0xbc23d70a)); +R2i.y = floatBitsToInt((1.0 / intBitsToFloat(uf_remappedPS[0].w))); +PS0i = R2i.y; +// 1 +// -0.01 0xbc23d70a +// -0.02 0xbca3d70a +// -0.05 0xbd4ccccd +// -0.1 0xbdcccccd +// -0.5 0xbf000000 +// 6 0x40c00000 +// 7 0x40a00000 +// 7.5 0x40f00000 +// 8 0x41000000 +// 9 0x41100000 +R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w) , intBitsToFloat(uf_remappedPS[1].z) ) ); +// seems we need to shift by dec 7.5 or hex 0x41100000 for unknown reasons. probably related to scale probably breaks on increased resolutions. +R0i.y = floatBitsToInt(1-mul_nonIEEE(intBitsToFloat(PV0i.z) - intBitsToFloat(0x40f00000), intBitsToFloat(uf_remappedPS[1].w)) ); +} +if( activeMaskStackC[1] == true ) { +R2i.x = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R0i.xy)).x); +R0i.xyzw = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R0i.xy)).xyzw); +} +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +R127i.x = floatBitsToInt((intBitsToFloat(R0i.x) * 2.0 + -(1.0))); +R127i.y = floatBitsToInt((intBitsToFloat(R0i.y) * 2.0 + -(1.0))); +R127i.z = floatBitsToInt((intBitsToFloat(R0i.z) * 2.0 + -(1.0))); +PV0i.z = R127i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),intBitsToFloat(R2i.x)) + intBitsToFloat(uf_remappedPS[2].x))); +PV0i.w = R123i.w; +// 1 +R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), -(intBitsToFloat(PV0i.w)))); +PV1i.x = R125i.x; +R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), -(intBitsToFloat(PV0i.w)))); +PV1i.y = R126i.y; +R126i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w))); +PV1i.z = R126i.z; +PS1i = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(PV0i.z)); +// 2 +R5i.x = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + intBitsToFloat(uf_remappedPS[3].x)); +PV0i.x = R5i.x; +R7i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(uf_remappedPS[3].y)); +PV0i.y = R7i.y; +R7i.z = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(uf_remappedPS[3].z)); +PV0i.z = R7i.z; +R122i.x = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(R127i.y) + intBitsToFloat(PS1i))); +PS0i = R122i.x; +// 3 +tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),-0.0),vec4(intBitsToFloat(uf_remappedPS[0].x),intBitsToFloat(uf_remappedPS[0].y),intBitsToFloat(uf_remappedPS[0].z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R122i.x = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(R127i.x) + intBitsToFloat(PS0i))); +PS1i = R122i.x; +// 4 +R126i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(R2i.y)); +R126i.x = clampFI32(R126i.x); +PV0i.x = R126i.x; +tempResultf = 1.0 / sqrt(intBitsToFloat(PS1i)); +PS0i = floatBitsToInt(tempResultf); +// 5 +R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); +R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),intBitsToFloat(PV0i.x)) + intBitsToFloat(uf_remappedPS[3].y))); +PV1i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].x),intBitsToFloat(PV0i.x)) + intBitsToFloat(uf_remappedPS[3].x))); +PV1i.w = R123i.w; +R8i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); +PS1i = R8i.z; +// 6 +backupReg0i = R126i.x; +R126i.x = floatBitsToInt(intBitsToFloat(R126i.y) + -(intBitsToFloat(PV1i.w))); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),intBitsToFloat(backupReg0i)) + intBitsToFloat(uf_remappedPS[3].z))); +PV0i.y = R123i.y; +R127i.z = floatBitsToInt(intBitsToFloat(R125i.x) + -(intBitsToFloat(PV1i.z))); +// 7 +backupReg0i = R126i.z; +R126i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(PV0i.y))); +PV1i.z = R126i.z; +// 8 +tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R126i.x)),-(intBitsToFloat(R127i.z)),-(intBitsToFloat(PV1i.z)),-0.0),vec4(-(intBitsToFloat(R126i.x)),-(intBitsToFloat(R127i.z)),-(intBitsToFloat(PV1i.z)),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R7i.w = tempi.x; +// 9 +tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); +PS1i = floatBitsToInt(tempResultf); +// 10 +R6i.x = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R126i.x)), intBitsToFloat(PS1i))); +R6i.y = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R127i.z)), intBitsToFloat(PS1i))); +R6i.z = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R126i.z)), intBitsToFloat(PS1i))); +R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(uf_remappedPS[4].w))); +PV0i.w = R5i.w; +// 11 +R6i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); +PS1i = R6i.w; +// 12 +predResult = (intBitsToFloat(R5i.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 +PV0i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[0].z) + intBitsToFloat(R6i.z)); +PV0i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[0].y) + intBitsToFloat(R6i.y)); +PV0i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[0].x) + intBitsToFloat(R6i.x)); +R1i.w = 0x3f800000; +PS0i = R1i.w; +// 1 +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R6i.w)) + -(intBitsToFloat(uf_remappedPS[0].x)))); +PV1i.x = R127i.x; +R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R6i.w)) + -(intBitsToFloat(uf_remappedPS[0].y)))); +PV1i.y = R127i.y; +R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R6i.w)) + -(intBitsToFloat(uf_remappedPS[0].z)))); +PV1i.z = R127i.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; +// 3 +tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); +PS1i = floatBitsToInt(tempResultf); +// 4 +R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); +R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); +R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); +// 5 +R5i.w = R1i.w; +} +activeMaskStack[1] = activeMaskStack[1] == false; +activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; +if( activeMaskStackC[2] == true ) { +// 0 +R1i.w = R6i.w; +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +if( activeMaskStackC[1] == true ) { +// 0 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.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; +R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(uf_remappedPS[5].x)) + intBitsToFloat(uf_remappedPS[5].y))); +PS0i = R2i.x; +// 1 +PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.x), -(1.0))); +R3i.y = floatBitsToInt(-(intBitsToFloat(R0i.w)) + 1.0); +PV1i.y = R3i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R1i.x)) + 1.0)); +PV1i.z = R123i.z; +R2i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[6].x)) + intBitsToFloat(uf_remappedPS[7].x)); +R4i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[6].y)) + intBitsToFloat(uf_remappedPS[7].y)); +PS1i = R4i.y; +// 2 +R123i.x = floatBitsToInt((intBitsToFloat(PV1i.y) * 0.5 + 0.5)); +PV0i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(PV1i.z))); +PV0i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.y)) + intBitsToFloat(0x3d4ccccd))); +R123i.z = clampFI32(R123i.z); +PV0i.z = R123i.z; +PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); +R2i.z = 0; +PS0i = R2i.z; +// 3 +backupReg0i = R1i.w; +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); +PV1i.x = R127i.x; +R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(uf_remappedPS[5].z)) + intBitsToFloat(uf_remappedPS[5].w))); +R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); +R4i.z = floatBitsToInt(intBitsToFloat(R4i.z) / 2.0); +PV1i.z = R4i.z; +R1i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x40400000)); +tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.y)); +PS1i = floatBitsToInt(tempResultf); +// 4 +R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); +PV0i.x = R4i.x; +R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PS1i))); +PV0i.y = R5i.y; +R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS1i))); +PV0i.z = R5i.z; +R4i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + -(1.0)); +R3i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); +PS0i = R3i.w; +// 5 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.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; +R6i.y = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(0x3ea2f983)); +PS1i = R6i.y; +// 6 +R0i.x = floatBitsToInt(intBitsToFloat(R6i.w) + intBitsToFloat(0xbf666666)); +R0i.y = PV1i.x; +R0i.y = clampFI32(R0i.y); +R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(R5i.w))); +R0i.w = PV1i.x; +R0i.w = floatBitsToInt(intBitsToFloat(R0i.w) * 2.0); +R3i.x = floatBitsToInt(-(intBitsToFloat(R1i.x)) + intBitsToFloat(uf_remappedPS[6].x)); +PS0i = R3i.x; +} +if( activeMaskStackC[1] == true ) { +R3i.z = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R2i.xy)).x); +} +if( activeMaskStackC[1] == true ) { +// 0 +R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(R0i.w)) + -(intBitsToFloat(R4i.x)))); +R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R0i.w)) + -(intBitsToFloat(R5i.y)))); +R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(R0i.w)) + -(intBitsToFloat(R5i.z)))); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(R3i.w)) + intBitsToFloat(R4i.z))); +PV0i.w = R123i.w; +R126i.x = floatBitsToInt(intBitsToFloat(R0i.x) * intBitsToFloat(0x40a00000)); +R126i.x = clampFI32(R126i.x); +PS0i = R126i.x; +// 1 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[0].x),intBitsToFloat(uf_remappedPS[0].y),intBitsToFloat(uf_remappedPS[0].z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R127i.y = tempi.x; +R0i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); +PS1i = R0i.y; +// 2 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[0].x),intBitsToFloat(uf_remappedPS[0].y),intBitsToFloat(uf_remappedPS[0].z),-0.0),vec4(intBitsToFloat(R124i.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; +R127i.w = tempi.x; +R125i.x = floatBitsToInt(1.0 / intBitsToFloat(R1i.w)); +PS0i = R125i.x; +// 3 +R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R126i.y),intBitsToFloat(R126i.z),0.0))); +PV1i.x = R127i.x; +PV1i.y = R127i.x; +PV1i.z = R127i.x; +PV1i.w = R127i.x; +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PV0i.x))); +PS1i = R127i.z; +// 4 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R5i.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; +PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PV1i.x))); +// 5 +backupReg0i = R127i.x; +backupReg1i = R127i.z; +R127i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R127i.w)) + intBitsToFloat(PS0i))); +R125i.y = floatBitsToInt(-(intBitsToFloat(R1i.y)) + intBitsToFloat(uf_remappedPS[6].y)); +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R126i.x))); +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[0].w)),intBitsToFloat(backupReg0i)) + intBitsToFloat(backupReg1i))); +PV1i.w = R123i.w; +R127i.w = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(R125i.x)); +R127i.w = clampFI32(R127i.w); +PS1i = R127i.w; +// 6 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.w),intBitsToFloat(R4i.y),intBitsToFloat(R2i.z),-0.0),vec4(intBitsToFloat(R2i.w),intBitsToFloat(R4i.y),intBitsToFloat(R4i.y),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); +// 7 +backupReg0i = R127i.x; +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(uf_remappedPS[8].y))); +R127i.x = clampFI32(R127i.x); +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(uf_remappedPS[9].y))); +R124i.z = ((intBitsToFloat(R2i.x) > intBitsToFloat(uf_remappedPS[9].x))?int(0xFFFFFFFF):int(0x0)); +R1i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PS0i)); +PV1i.w = R1i.w; +R126i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); +PS1i = R126i.w; +// 8 +R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].x),intBitsToFloat(PV1i.w)) + intBitsToFloat(R5i.x))); +PV0i.x = R126i.x; +R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),intBitsToFloat(PV1i.w)) + intBitsToFloat(R7i.y))); +PV0i.y = R124i.y; +R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),intBitsToFloat(PV1i.w)) + intBitsToFloat(R7i.z))); +PV0i.z = R0i.z; +PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); +PV0i.w = clampFI32(PV0i.w); +R125i.z = floatBitsToInt(1.0 / intBitsToFloat(R127i.w)); +PS0i = R125i.z; +// 9 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.x),intBitsToFloat(R126i.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; +R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R127i.z))); +PS1i = R1i.z; +// 10 +backupReg0i = R126i.y; +backupReg1i = R125i.z; +backupReg2i = R127i.x; +backupReg2i = R127i.x; +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(PV1i.x)) + -(intBitsToFloat(R126i.x)))); +PV0i.x = R127i.x; +R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PV1i.x)) + -(intBitsToFloat(R124i.y)))); +PV0i.y = R126i.y; +R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(PV1i.x)) + -(intBitsToFloat(R0i.z)))); +PV0i.z = R125i.z; +R5i.w = floatBitsToInt(intBitsToFloat(R3i.y) * intBitsToFloat(backupReg1i)); +R126i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(backupReg2i)),intBitsToFloat(backupReg2i)) + 1.0)); +PS0i = R126i.z; +// 11 +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(uf_remappedPS[6].z)) + intBitsToFloat(uf_remappedPS[7].z)); +PS1i = R127i.w; +// 12 +tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R125i.y)),-(intBitsToFloat(R125i.y)),-0.0),vec4(intBitsToFloat(R2i.w),intBitsToFloat(R4i.y),intBitsToFloat(R2i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); +// 13 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R127i.y))); +R127i.y = floatBitsToInt(max(-(intBitsToFloat(R6i.z)), 0.0)); +PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(R126i.w)); +PV1i.z = clampFI32(PV1i.z); +R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(R126i.z))); +PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); +// 14 +backupReg0i = R124i.z; +PV0i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[4].w) * intBitsToFloat(PS1i)); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(R3i.x))); +PV0i.y = R123i.y; +R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(PV1i.z)) + intBitsToFloat(R125i.y))); +R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(uf_remappedPS[6].z))); +R2i.w = ((backupReg0i == 0)?(R3i.z):(PV1i.x)); +PS0i = R2i.w; +// 15 +backupReg0i = R0i.w; +PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + -(1.0)); +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); +R126i.z = floatBitsToInt(min(intBitsToFloat(R127i.y), 1.0)); +PV1i.w = PV0i.x; +PV1i.w = clampFI32(PV1i.w); +R124i.x = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + 1.0); +PS1i = R124i.x; +// 16 +backupReg0i = R127i.x; +backupReg1i = R126i.y; +backupReg2i = R125i.z; +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PV1i.w)) + intBitsToFloat(R126i.x))); +PV0i.x = R127i.x; +R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PV1i.w)) + intBitsToFloat(R124i.y))); +PV0i.y = R126i.y; +R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg2i),intBitsToFloat(PV1i.w)) + intBitsToFloat(R0i.z))); +PV0i.z = R125i.z; +R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.z),intBitsToFloat(R124i.z)) + intBitsToFloat(PV1i.y))); +R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); +PS0i = R127i.w; +// 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; +R124i.z = ((0.0 > intBitsToFloat(PS0i))?int(0xFFFFFFFF):int(0x0)); +PS1i = R124i.z; +// 18 +PV0i.y = floatBitsToInt(intBitsToFloat(R127i.w) * -(1.0)); +R8i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(R124i.x)) + intBitsToFloat(R0i.w))); +tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); +PS0i = floatBitsToInt(tempResultf); +// 19 +R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); +PV1i.x = R3i.x; +R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS0i))); +PV1i.y = R3i.y; +R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PS0i))); +PV1i.z = R0i.z; +R123i.w = ((R124i.z == 0)?(R127i.w):(PV0i.y)); +PV1i.w = R123i.w; +R7i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.w)),intBitsToFloat(R125i.w)) + 1.0)); +R7i.w = clampFI32(R7i.w); +PS1i = R7i.w; +// 20 +R2i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV1i.x)); +PV0i.x = R2i.x; +R2i.y = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV1i.y)); +PV0i.y = R2i.y; +R3i.z = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.z)); +PV0i.z = R3i.z; +R6i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); +R6i.w = clampFI32(R6i.w); +R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].x), intBitsToFloat(R2i.w))); +PS0i = R2i.z; +// 21 +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; +R4i.y = tempi.x; +R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y), intBitsToFloat(R2i.w))); +PS1i = R1i.y; +} +if( activeMaskStackC[1] == true ) { +// 0 +backupReg0i = R0i.z; +R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(backupReg0i),0.0))); +R126i.x = clampFI32(R126i.x); +PV0i.x = R126i.x; +PV0i.y = R126i.x; +PV0i.z = R126i.x; +PV0i.w = R126i.x; +tempResultf = 1.0 / sqrt(intBitsToFloat(R4i.y)); +PS0i = floatBitsToInt(tempResultf); +// 1 +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(PS0i))); +PV1i.x = R127i.x; +R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(PS0i))); +PV1i.y = R126i.y; +R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PS0i))); +PV1i.z = R125i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R3i.w)) + intBitsToFloat(R4i.z))); +PV1i.w = R123i.w; +R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z), intBitsToFloat(R2i.w))); +PS1i = R124i.x; +// 2 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.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.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); +PS0i = R127i.w; +// 3 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.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; +PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); +// 4 +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(R127i.w))); +R126i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); +PV0i.y = R126i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(PS1i)) + 1.0)); +PV0i.z = R123i.z; +PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) * intBitsToFloat(0x3ea2f983)); +R125i.z = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(0x3ea2f983)); +PS0i = R125i.z; +// 5 +backupReg0i = R124i.x; +backupReg1i = R0i.w; +R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); +PV1i.x = R124i.x; +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); +R124i.z = floatBitsToInt((intBitsToFloat(R1i.w) * intBitsToFloat(0x41200000) + 1.0)); +R124i.z = clampFI32(R124i.z); +PV1i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3ea2f983)); +R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PV0i.w))); +PS1i = R2i.x; +// 6 +R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), intBitsToFloat(R125i.z))); +R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), intBitsToFloat(PV1i.w))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV1i.x))); +PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y)); +// 7 +backupReg0i = R124i.x; +R124i.x = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(PS0i)); +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.w))); +R2i.w = 0; +// 8 +R123i.y = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x3f75c28f) + intBitsToFloat(0x3d23d70a))); +PV0i.y = R123i.y; +// 9 +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(PV0i.y))); +// 10 +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV1i.z))); +// 11 +PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) * 0.25); +// 12 +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV1i.x))); +// 13 +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV0i.w))); +// 14 +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PV1i.z))); +// 15 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), intBitsToFloat(PV0i.y))); +// 16 +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z), intBitsToFloat(PV1i.x))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y), intBitsToFloat(PV1i.x))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].x), intBitsToFloat(PV1i.x))); +// 17 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(PV0i.w))); +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(PV0i.y))); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(PV0i.z))); +// 18 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(PV1i.w))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(PV1i.x))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(PV1i.z))); +// 19 +R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(PV0i.y))); +R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(PV0i.x))); +R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(PV0i.w))); +// 20 +R1i.xyz = ivec3(R2i.x,R2i.y,R2i.z); +R1i.w = R2i.w; +// 21 +R2i.xyz = ivec3(R0i.x,R0i.y,R0i.z); +R2i.w = R0i.w; +} +// export +passPixelColor0 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); +passPixelColor1 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); +} diff --git a/Workarounds/BreathOfTheWild_Intel_FlippedLights/ab0a485b9ae1bb1e_00000000000ff259_ps.txt b/Workarounds/BreathOfTheWild_Intel_FlippedLights/ab0a485b9ae1bb1e_00000000000ff259_ps.txt index bd65df71..c4d6dc63 100644 --- a/Workarounds/BreathOfTheWild_Intel_FlippedLights/ab0a485b9ae1bb1e_00000000000ff259_ps.txt +++ b/Workarounds/BreathOfTheWild_Intel_FlippedLights/ab0a485b9ae1bb1e_00000000000ff259_ps.txt @@ -1,647 +1,647 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader ab0a485b9ae1bb1e -// Used to flip most Base reflections -uniform ivec4 uf_remappedPS[13]; -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 samplerCubeArray textureUnitPS2;// Tex2 addr 0x3d4f4000 res 3x3x1 dim 3 tm: 2 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x6) Sampler2 ClampX/Y/Z: 6 6 6 border: 1 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x3d4f5000 res 64x64x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 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; -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)); -} - -mat4 rotationMatrix(vec3 axis, float angle) { - axis = normalize(axis); - float s = sin(angle); - float c = cos(angle); - float oc = 1.0 - c; - - return mat4(oc * axis.x * axis.x + c, oc * axis.x * axis.y - axis.z * s, oc * axis.z * axis.x + axis.y * s, 0.0, oc * axis.x * axis.y + axis.z * s, oc * axis.y * axis.y + c, oc * axis.y * axis.z - axis.x * s, 0.0, oc * axis.z * axis.x - axis.y * s, oc * axis.y * axis.z + axis.x * s, oc * axis.z * axis.z + c, 0.0, 0.0, 0.0, 0.0, 1.0); -} - -vec3 rotate(vec3 v, vec3 axis, float angle) { - mat4 m = rotationMatrix(axis, angle); - return (m * vec4(v, 1.0)).xyz; -} - -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 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -vec3 rotater = vec3(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; -float cubeMapArrayIndex2 = 0.0; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem0); -// 0 -backupReg0i = R0i.y; -R6i.x = 0x3f800000; -PV0i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(0xbc23d70a)); -PV0i.z = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(0xbc23d70a)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R1i.x)) + 1.0)); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(intBitsToFloat(R1i.x) + -(intBitsToFloat(uf_remappedPS[0].x))); -// 1 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[1].z))); -R0i.y = floatBitsToInt(1-mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[1].w))); -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.w))); -R1i.w = floatBitsToInt(intBitsToFloat(R1i.y) + -(intBitsToFloat(uf_remappedPS[0].y))); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(PS0i))); -PS1i = R3i.z; - -// R0i.x = 1-R0i.x; -// R0i.y = 1-R0i.y; -R2i.xyzw = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R0i.xy)).xyzw); - -// rotater.y = R2i.y; -// rotater.x = R2i.x; -// rotater.z = R2i.z; -// rotater.xyz = rotate(rotater.xyz, vec3(0,1,1), 180); -// R2i.x = floatBitsToInt(rotater.x); -// R2i.y = floatBitsToInt(rotater.y); -// R2i.z = floatBitsToInt(rotater.z); - - -R0i.x = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R0i.xy)).x); - - -// 0 -R127i.x = floatBitsToInt((intBitsToFloat(R2i.x) * 2.0 + -(1.0))); -PV0i.x = R127i.x; -// Edit here (intBitsToFloat(R2i.y) => -(intBitsToFloat(R2i.y) flips some light -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; -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),intBitsToFloat(R0i.x)) + intBitsToFloat(uf_remappedPS[2].x))); -PV0i.w = R126i.w; -R127i.w = floatBitsToInt(intBitsToFloat(R2i.w) * intBitsToFloat(0x437f0000)); -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; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),-(intBitsToFloat(PV0i.w))) + -(intBitsToFloat(uf_remappedPS[3].x)))); -PS1i = R5i.x; -// 2 -R3i.x = floatBitsToInt(-(intBitsToFloat(R2i.w)) + 1.0); -PV0i.x = R3i.x; -// Edit here can flip some light to the right spot -(intBitsToFloat(R126i.w) => (intBitsToFloat(R126i.w) -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),-(intBitsToFloat(R126i.w))) + -(intBitsToFloat(uf_remappedPS[3].y)))); -R2i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),-(intBitsToFloat(R126i.w))) + -(intBitsToFloat(uf_remappedPS[3].z)))); -R4i.w = floatBitsToInt(-(intBitsToFloat(R126i.w))); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 3 -backupReg0i = R127i.w; -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); -// more light flipping at intBitsToFloat(R127i.y) -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(0x3d4ccccd))); -R127i.w = clampFI32(R127i.w); -PS1i = int(intBitsToFloat(backupReg0i)); -// 4 -tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R5i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R2i.z)),-0.0),vec4(-(intBitsToFloat(R5i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R2i.z)),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.x = PS1i & 0x00000002; -PS0i = R125i.x; -// 5 -R126i.x = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0x3a83126f))); -PV1i.x = R126i.x; -// more light flipping -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.w))); -R126i.z = floatBitsToInt((intBitsToFloat(R3i.x) * 0.5 + 0.5)); -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), -(intBitsToFloat(R126i.w)))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R0i.z)); -R126i.y = floatBitsToInt(tempResultf); -PS1i = R126i.y; -// 6 -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R3i.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 = R127i.x; -PV0i.y = R127i.x; -PV0i.z = R127i.x; -PV0i.w = R127i.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -R125i.w = floatBitsToInt(tempResultf); -PS0i = R125i.w; -// 7 -PV1i.x = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R5i.x)), intBitsToFloat(PS0i))); -// more light flipping -PV1i.y = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R3i.y)), intBitsToFloat(PS0i))); -R5i.z = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R2i.z)), intBitsToFloat(PS0i))); -PV1i.z = R5i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].w), intBitsToFloat(PS0i))); -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R126i.y))); -PS1i = R8i.x; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R5i.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; -R125i.z = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R125i.z; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R3i.y),intBitsToFloat(R2i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(max(intBitsToFloat(PV0i.x), -(1.0))); -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R3i.y),intBitsToFloat(R2i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[7].x),intBitsToFloat(uf_remappedPS[7].y),intBitsToFloat(uf_remappedPS[7].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(min(intBitsToFloat(PS1i), 1.0)); -PS0i = R127i.w; - -// rotater.y = R5i.y; -// rotater.x = R5i.x; -// rotater.z = R5i.z; -// rotater.xyz = rotate(rotater.xyz, vec3(0,1,0), .02); -// R5i.x = floatBitsToInt(rotater.x); -// R5i.y = floatBitsToInt(rotater.y); -// R5i.z = floatBitsToInt(rotater.z); - - -// 11 -redcCUBE(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.x),intBitsToFloat(R127i.y)),vec4(intBitsToFloat(R127i.y),intBitsToFloat(R127i.x),intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.x)),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; -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(R125i.z)); -PS1i = R127i.x; -// 12 -R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(uf_remappedPS[8].x)) + intBitsToFloat(uf_remappedPS[8].y))); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R126i.y))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(uf_remappedPS[8].z)) + intBitsToFloat(uf_remappedPS[8].w))); -PV0i.z = R127i.z; -R6i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R126i.y))); -PS0i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV1i.z))); -// 13 -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)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); -R127i.w = ((intBitsToFloat(PV0i.z) > 0.0)?int(0xFFFFFFFF):int(0x0)); -R9i.x = floatBitsToInt(intBitsToFloat(R125i.y) + -(1.0)); -PS1i = R9i.x; -// 14 -backupReg0i = R1i.y; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV1i.z))); -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(R126i.z))); -R4i.y = floatBitsToInt(intBitsToFloat(R4i.y) / 2.0); -PV0i.y = R4i.y; -R6i.z = floatBitsToInt(intBitsToFloat(R125i.y) * intBitsToFloat(0x3ea2f983)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(0x40400000)); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), -(intBitsToFloat(R126i.w)))); -PS0i = R1i.y; -// 15 -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(R125i.z))); -PV1i.x = R10i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(uf_remappedPS[9].y))); -PV1i.y = clampFI32(PV1i.y); -R123i.z = ((R127i.w == 0)?(0):(PV0i.x)); -PV1i.z = R123i.z; -R5i.w = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 16 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedPS[10].y))); -R2i.y = ((R125i.x == 0)?(R127i.z):(PV1i.z)); -R1i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.y)),intBitsToFloat(PV1i.y)) + 1.0)); -R2i.w = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PS1i)); -R2i.w = clampFI32(R2i.w); -R1i.x = floatBitsToInt(1.0 / intBitsToFloat(R125i.w)); -R1i.x = floatBitsToInt(intBitsToFloat(R1i.x) / 2.0); -PS0i = R1i.x; -R0i.w = floatBitsToInt(texture(textureUnitPS2, vec4(redcCUBEReverse(intBitsToFloat(R0i.yx),R0i.w),cubeMapArrayIndex2)).x); -R0i.y = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R2i.xy)).x); -// 0 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R5i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.w),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = ((intBitsToFloat(backupReg0i) > intBitsToFloat(0x3f7ae148))?int(0xFFFFFFFF):int(0x0)); -// 1 -R126i.x = ((PS0i == 0)?(R0i.w):(0x42c80000)); -PV1i.y = PV0i.x; -PV1i.y = clampFI32(PV1i.y); -R126i.z = ((intBitsToFloat(R2i.x) > intBitsToFloat(uf_remappedPS[10].x))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = PV0i.x; -PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 2.0); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(R2i.w)); -// 2 -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(PV1i.w)) + -(intBitsToFloat(R8i.x)))); -PV0i.x = R125i.x; -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PV1i.w)) + -(intBitsToFloat(R6i.y)))); -PV0i.y = R125i.y; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(PV1i.w)) + -(intBitsToFloat(R6i.w)))); -PV0i.z = R127i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R5i.w)) + intBitsToFloat(R4i.y))); -PV0i.w = R123i.w; -R126i.y = floatBitsToInt(intBitsToFloat(R3i.x) * intBitsToFloat(PS1i)); -PS0i = R126i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R5i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R2i.z)),-0.0),vec4(intBitsToFloat(PV0i.x),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.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R124i.y; -// 4 -backupReg0i = R127i.z; -backupReg1i = R126i.x; -backupReg2i = R126i.y; -backupReg2i = R126i.y; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(R5i.x))); -PV0i.x = R126i.x; -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(PV1i.x)) + intBitsToFloat(R3i.y))); -PV0i.y = R126i.y; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PV1i.x)) + intBitsToFloat(R2i.z))); -PV0i.z = R127i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[9].z),intBitsToFloat(backupReg1i)) + 4.0)/2.0); -PV0i.w = R123i.w; -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(backupReg2i))); -PS0i = R0i.w; -// 5 -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.z = floatBitsToInt(intBitsToFloat(PV0i.w) + -(intBitsToFloat(R1i.x))); -R124i.z = clampFI32(R124i.z); -PS1i = R124i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.w),intBitsToFloat(R1i.y),intBitsToFloat(R4i.w),intBitsToFloat(R6i.x)),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; -R125i.y = tempi.x; -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 7 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.w),intBitsToFloat(R1i.y),intBitsToFloat(R4i.w),intBitsToFloat(R6i.x)),vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),intBitsToFloat(uf_remappedPS[6].w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 8 -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(R4i.x))); -R127i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(uf_remappedPS[11].y)); -R127i.y = clampFI32(R127i.y); -R125i.z = floatBitsToInt(-(intBitsToFloat(R125i.y)) + intBitsToFloat(uf_remappedPS[11].x)); -R125i.z = clampFI32(R125i.z); -PV0i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[5].w) * intBitsToFloat(PS1i)); -PV0i.w = clampFI32(PV0i.w); -R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(R1i.w)) + intBitsToFloat(R3i.z))); -PS0i = R2i.y; -// 9 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R127i.z; -backupReg3i = R125i.x; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PV0i.w)) + -(intBitsToFloat(R5i.x)))); -PV1i.x = R126i.x; -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PV0i.w)) + -(intBitsToFloat(R3i.y)))); -PV1i.y = R126i.y; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg2i),intBitsToFloat(PV0i.w)) + -(intBitsToFloat(R2i.z)))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(R125i.y) + -(intBitsToFloat(uf_remappedPS[12].x))); -PV1i.w = clampFI32(PV1i.w); -R125i.x = floatBitsToInt(intBitsToFloat(backupReg3i) + -(intBitsToFloat(uf_remappedPS[12].y))); -R125i.x = clampFI32(R125i.x); -PS1i = R125i.x; -// 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; -R127i.x = floatBitsToInt(max(intBitsToFloat(R125i.z), intBitsToFloat(PV1i.w))); -PS0i = R127i.x; -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.w),intBitsToFloat(R1i.y),intBitsToFloat(R4i.w),intBitsToFloat(R6i.x)),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; -R125i.w = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 12 -backupReg0i = R127i.z; -backupReg1i = R127i.y; -backupReg2i = R127i.x; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R124i.w = floatBitsToInt(max(intBitsToFloat(backupReg1i), intBitsToFloat(R125i.x))); -R127i.w = floatBitsToInt(-(intBitsToFloat(backupReg2i)) + 1.0); -PS0i = R127i.w; -// 13 -backupReg0i = R125i.w; -backupReg0i = R125i.w; -R126i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(PV0i.x)); -PV1i.x = R126i.x; -R126i.y = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.y)); -PV1i.y = R126i.y; -R125i.z = floatBitsToInt(intBitsToFloat(R6i.w) + intBitsToFloat(PV0i.z)); -PV1i.z = R125i.z; -R125i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(uf_remappedPS[11].z)); -R125i.w = clampFI32(R125i.w); -R126i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(uf_remappedPS[12].z))); -R126i.w = clampFI32(R126i.w); -PS1i = R126i.w; -// 14 -backupReg0i = R0i.y; -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.z = ((R126i.z == 0)?(backupReg0i):(R124i.x)); -PS0i = R2i.z; -// 15 -R5i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R5i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); -R5i.x = clampFI32(R5i.x); -PV1i.x = R5i.x; -PV1i.y = R5i.x; -PV1i.z = R5i.x; -PV1i.w = R5i.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 16 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R125i.z; -backupReg3i = R124i.z; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R126i.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R126i.y; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R125i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R5i.w)) + intBitsToFloat(R4i.y))); -PV0i.w = R123i.w; -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg3i), intBitsToFloat(R127i.w))); -PS0i = R124i.z; -// 17 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R5i.y),intBitsToFloat(R4i.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; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R127i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.w),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R126i.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; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.x))); -// 19 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(R127i.w))); -R124i.y = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -PV1i.y = R124i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.x),intBitsToFloat(PS0i)) + 1.0)); -PV1i.z = R123i.z; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R127i.w = floatBitsToInt(max(-(intBitsToFloat(R5i.z)), 0.0)); -PS1i = R127i.w; -// 20 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.y))); -PV0i.x = R126i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(max(intBitsToFloat(R125i.w), intBitsToFloat(R126i.w))); -R126i.w = floatBitsToInt(-(intBitsToFloat(R124i.w)) + 1.0); -R4i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[0].z)),intBitsToFloat(R2i.y)) + 1.0)); -R4i.x = clampFI32(R4i.x); -PS0i = R4i.x; -// 21 -R9i.x = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R2i.y = floatBitsToInt(-(intBitsToFloat(R5i.w)) + 1.0); -R1i.z = floatBitsToInt(min(intBitsToFloat(R127i.w), 1.0)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(PV0i.x))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -// 22 -R8i.x = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(PS1i)); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(R126i.w))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV1i.w))); -R6i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].x), intBitsToFloat(R2i.z))); -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].y), intBitsToFloat(R2i.z))); -PS0i = R7i.x; -// 0 -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(R2i.y)) + intBitsToFloat(R5i.w))); -R123i.y = floatBitsToInt((intBitsToFloat(R6i.z) * intBitsToFloat(0x3f75c28f) + intBitsToFloat(0x3d23d70a))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(R9i.x)) + -(1.0))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].z), intBitsToFloat(R2i.z))); -PS0i = floatBitsToInt(intBitsToFloat(R6i.w) * intBitsToFloat(0x3ea2f983)); -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(PV0i.y))); -PV1i.y = floatBitsToInt(intBitsToFloat(R7i.x) * intBitsToFloat(0x3ea2f983)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x3ea2f983)); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(uf_remappedPS[9].w)) + 1.0)); -PV1i.w = R126i.w; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PS0i))); -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV1i.x))); -R6i.w = 0; -PS0i = R6i.w; -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) * 0.25); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PV0i.z))); -R6i.x = floatBitsToInt(min(intBitsToFloat(PV0i.x), intBitsToFloat(0x42000000))); -PS1i = R6i.x; -// 4 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.z))); -R6i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), intBitsToFloat(0x42000000))); -R6i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), intBitsToFloat(0x42000000))); -PS0i = R6i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), intBitsToFloat(PV0i.y))); -// 6 -backupReg0i = R0i.w; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.x))); -// 7 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].z), intBitsToFloat(PV0i.w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].y), intBitsToFloat(PV0i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].x), intBitsToFloat(PV0i.w))); -// 8 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(PV1i.x))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(PV1i.z))); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV0i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV0i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV0i.z))); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PV1i.w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PV1i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PV1i.z))); -// 11 -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))); -// 12 -R0i.xyz = ivec3(R6i.x,R6i.y,R6i.z); -R0i.w = R6i.w; -// 13 -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)); -} +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +// shader ab0a485b9ae1bb1e +// Used to flip most Base reflections +uniform ivec4 uf_remappedPS[13]; +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 samplerCubeArray textureUnitPS2;// Tex2 addr 0x3d4f4000 res 3x3x1 dim 3 tm: 2 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x6) Sampler2 ClampX/Y/Z: 6 6 6 border: 1 +layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x3d4f5000 res 64x64x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 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; +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)); +} + +mat4 rotationMatrix(vec3 axis, float angle) { + axis = normalize(axis); + float s = sin(angle); + float c = cos(angle); + float oc = 1.0 - c; + + return mat4(oc * axis.x * axis.x + c, oc * axis.x * axis.y - axis.z * s, oc * axis.z * axis.x + axis.y * s, 0.0, oc * axis.x * axis.y + axis.z * s, oc * axis.y * axis.y + c, oc * axis.y * axis.z - axis.x * s, 0.0, oc * axis.z * axis.x - axis.y * s, oc * axis.y * axis.z + axis.x * s, oc * axis.z * axis.z + c, 0.0, 0.0, 0.0, 0.0, 1.0); +} + +vec3 rotate(vec3 v, vec3 axis, float angle) { + mat4 m = rotationMatrix(axis, angle); + return (m * vec4(v, 1.0)).xyz; +} + +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 R124i = ivec4(0); +ivec4 R125i = ivec4(0); +ivec4 R126i = ivec4(0); +ivec4 R127i = ivec4(0); +vec3 rotater = vec3(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; +float cubeMapArrayIndex2 = 0.0; +R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); +R1i = floatBitsToInt(passParameterSem0); +// 0 +backupReg0i = R0i.y; +R6i.x = 0x3f800000; +PV0i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(0xbc23d70a)); +PV0i.z = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(0xbc23d70a)); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R1i.x)) + 1.0)); +PV0i.w = R123i.w; +PS0i = floatBitsToInt(intBitsToFloat(R1i.x) + -(intBitsToFloat(uf_remappedPS[0].x))); +// 1 +R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[1].z))); +R0i.y = floatBitsToInt(1-mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[1].w))); +R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.w))); +R1i.w = floatBitsToInt(intBitsToFloat(R1i.y) + -(intBitsToFloat(uf_remappedPS[0].y))); +R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(PS0i))); +PS1i = R3i.z; + +// R0i.x = 1-R0i.x; +// R0i.y = 1-R0i.y; +R2i.xyzw = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R0i.xy)).xyzw); + +// rotater.y = R2i.y; +// rotater.x = R2i.x; +// rotater.z = R2i.z; +// rotater.xyz = rotate(rotater.xyz, vec3(0,1,1), 180); +// R2i.x = floatBitsToInt(rotater.x); +// R2i.y = floatBitsToInt(rotater.y); +// R2i.z = floatBitsToInt(rotater.z); + + +R0i.x = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R0i.xy)).x); + + +// 0 +R127i.x = floatBitsToInt((intBitsToFloat(R2i.x) * 2.0 + -(1.0))); +PV0i.x = R127i.x; +// Edit here (intBitsToFloat(R2i.y) => -(intBitsToFloat(R2i.y) flips some light +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; +R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),intBitsToFloat(R0i.x)) + intBitsToFloat(uf_remappedPS[2].x))); +PV0i.w = R126i.w; +R127i.w = floatBitsToInt(intBitsToFloat(R2i.w) * intBitsToFloat(0x437f0000)); +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; +R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),-(intBitsToFloat(PV0i.w))) + -(intBitsToFloat(uf_remappedPS[3].x)))); +PS1i = R5i.x; +// 2 +R3i.x = floatBitsToInt(-(intBitsToFloat(R2i.w)) + 1.0); +PV0i.x = R3i.x; +// Edit here can flip some light to the right spot -(intBitsToFloat(R126i.w) => (intBitsToFloat(R126i.w) +R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),-(intBitsToFloat(R126i.w))) + -(intBitsToFloat(uf_remappedPS[3].y)))); +R2i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),-(intBitsToFloat(R126i.w))) + -(intBitsToFloat(uf_remappedPS[3].z)))); +R4i.w = floatBitsToInt(-(intBitsToFloat(R126i.w))); +tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); +PS0i = floatBitsToInt(tempResultf); +// 3 +backupReg0i = R127i.w; +R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); +// more light flipping at intBitsToFloat(R127i.y) +R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); +R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); +R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(0x3d4ccccd))); +R127i.w = clampFI32(R127i.w); +PS1i = int(intBitsToFloat(backupReg0i)); +// 4 +tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R5i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R2i.z)),-0.0),vec4(-(intBitsToFloat(R5i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R2i.z)),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R125i.x = PS1i & 0x00000002; +PS0i = R125i.x; +// 5 +R126i.x = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0x3a83126f))); +PV1i.x = R126i.x; +// more light flipping +R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.w))); +R126i.z = floatBitsToInt((intBitsToFloat(R3i.x) * 0.5 + 0.5)); +R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), -(intBitsToFloat(R126i.w)))); +tempResultf = 1.0 / sqrt(intBitsToFloat(R0i.z)); +R126i.y = floatBitsToInt(tempResultf); +PS1i = R126i.y; +// 6 +R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R3i.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 = R127i.x; +PV0i.y = R127i.x; +PV0i.z = R127i.x; +PV0i.w = R127i.x; +tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); +R125i.w = floatBitsToInt(tempResultf); +PS0i = R125i.w; +// 7 +PV1i.x = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R5i.x)), intBitsToFloat(PS0i))); +// more light flipping +PV1i.y = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R3i.y)), intBitsToFloat(PS0i))); +R5i.z = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R2i.z)), intBitsToFloat(PS0i))); +PV1i.z = R5i.z; +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].w), intBitsToFloat(PS0i))); +R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R126i.y))); +PS1i = R8i.x; +// 8 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R5i.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; +R125i.z = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); +PS0i = R125i.z; +// 9 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R3i.y),intBitsToFloat(R2i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R127i.y = tempi.x; +PS1i = floatBitsToInt(max(intBitsToFloat(PV0i.x), -(1.0))); +// 10 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R3i.y),intBitsToFloat(R2i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[7].x),intBitsToFloat(uf_remappedPS[7].y),intBitsToFloat(uf_remappedPS[7].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(min(intBitsToFloat(PS1i), 1.0)); +PS0i = R127i.w; + +// rotater.y = R5i.y; +// rotater.x = R5i.x; +// rotater.z = R5i.z; +// rotater.xyz = rotate(rotater.xyz, vec3(0,1,0), .02); +// R5i.x = floatBitsToInt(rotater.x); +// R5i.y = floatBitsToInt(rotater.y); +// R5i.z = floatBitsToInt(rotater.z); + + +// 11 +redcCUBE(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.x),intBitsToFloat(R127i.y)),vec4(intBitsToFloat(R127i.y),intBitsToFloat(R127i.x),intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.x)),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; +R127i.x = floatBitsToInt(1.0 / intBitsToFloat(R125i.z)); +PS1i = R127i.x; +// 12 +R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(uf_remappedPS[8].x)) + intBitsToFloat(uf_remappedPS[8].y))); +R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R126i.y))); +R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(uf_remappedPS[8].z)) + intBitsToFloat(uf_remappedPS[8].w))); +PV0i.z = R127i.z; +R6i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R126i.y))); +PS0i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV1i.z))); +// 13 +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)); +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); +R127i.w = ((intBitsToFloat(PV0i.z) > 0.0)?int(0xFFFFFFFF):int(0x0)); +R9i.x = floatBitsToInt(intBitsToFloat(R125i.y) + -(1.0)); +PS1i = R9i.x; +// 14 +backupReg0i = R1i.y; +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV1i.z))); +R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(R126i.z))); +R4i.y = floatBitsToInt(intBitsToFloat(R4i.y) / 2.0); +PV0i.y = R4i.y; +R6i.z = floatBitsToInt(intBitsToFloat(R125i.y) * intBitsToFloat(0x3ea2f983)); +PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(0x40400000)); +R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), -(intBitsToFloat(R126i.w)))); +PS0i = R1i.y; +// 15 +R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(R125i.z))); +PV1i.x = R10i.x; +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(uf_remappedPS[9].y))); +PV1i.y = clampFI32(PV1i.y); +R123i.z = ((R127i.w == 0)?(0):(PV0i.x)); +PV1i.z = R123i.z; +R5i.w = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); +PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); +// 16 +R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedPS[10].y))); +R2i.y = ((R125i.x == 0)?(R127i.z):(PV1i.z)); +R1i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.y)),intBitsToFloat(PV1i.y)) + 1.0)); +R2i.w = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PS1i)); +R2i.w = clampFI32(R2i.w); +R1i.x = floatBitsToInt(1.0 / intBitsToFloat(R125i.w)); +R1i.x = floatBitsToInt(intBitsToFloat(R1i.x) / 2.0); +PS0i = R1i.x; +R0i.w = floatBitsToInt(texture(textureUnitPS2, vec4(redcCUBEReverse(intBitsToFloat(R0i.yx),R0i.w),cubeMapArrayIndex2)).x); +R0i.y = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R2i.xy)).x); +// 0 +backupReg0i = R0i.w; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R5i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.w),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +PS0i = ((intBitsToFloat(backupReg0i) > intBitsToFloat(0x3f7ae148))?int(0xFFFFFFFF):int(0x0)); +// 1 +R126i.x = ((PS0i == 0)?(R0i.w):(0x42c80000)); +PV1i.y = PV0i.x; +PV1i.y = clampFI32(PV1i.y); +R126i.z = ((intBitsToFloat(R2i.x) > intBitsToFloat(uf_remappedPS[10].x))?int(0xFFFFFFFF):int(0x0)); +PV1i.w = PV0i.x; +PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 2.0); +PS1i = floatBitsToInt(1.0 / intBitsToFloat(R2i.w)); +// 2 +R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(PV1i.w)) + -(intBitsToFloat(R8i.x)))); +PV0i.x = R125i.x; +R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PV1i.w)) + -(intBitsToFloat(R6i.y)))); +PV0i.y = R125i.y; +R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(PV1i.w)) + -(intBitsToFloat(R6i.w)))); +PV0i.z = R127i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R5i.w)) + intBitsToFloat(R4i.y))); +PV0i.w = R123i.w; +R126i.y = floatBitsToInt(intBitsToFloat(R3i.x) * intBitsToFloat(PS1i)); +PS0i = R126i.y; +// 3 +tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R5i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R2i.z)),-0.0),vec4(intBitsToFloat(PV0i.x),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.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); +PS1i = R124i.y; +// 4 +backupReg0i = R127i.z; +backupReg1i = R126i.x; +backupReg2i = R126i.y; +backupReg2i = R126i.y; +R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(R5i.x))); +PV0i.x = R126i.x; +R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(PV1i.x)) + intBitsToFloat(R3i.y))); +PV0i.y = R126i.y; +R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PV1i.x)) + intBitsToFloat(R2i.z))); +PV0i.z = R127i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[9].z),intBitsToFloat(backupReg1i)) + 4.0)/2.0); +PV0i.w = R123i.w; +R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(backupReg2i))); +PS0i = R0i.w; +// 5 +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.z = floatBitsToInt(intBitsToFloat(PV0i.w) + -(intBitsToFloat(R1i.x))); +R124i.z = clampFI32(R124i.z); +PS1i = R124i.z; +// 6 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.w),intBitsToFloat(R1i.y),intBitsToFloat(R4i.w),intBitsToFloat(R6i.x)),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; +R125i.y = tempi.x; +PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); +// 7 +R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.w),intBitsToFloat(R1i.y),intBitsToFloat(R4i.w),intBitsToFloat(R6i.x)),vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),intBitsToFloat(uf_remappedPS[6].w)))); +PV1i.x = R125i.x; +PV1i.y = R125i.x; +PV1i.z = R125i.x; +PV1i.w = R125i.x; +PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); +// 8 +R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(R4i.x))); +R127i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(uf_remappedPS[11].y)); +R127i.y = clampFI32(R127i.y); +R125i.z = floatBitsToInt(-(intBitsToFloat(R125i.y)) + intBitsToFloat(uf_remappedPS[11].x)); +R125i.z = clampFI32(R125i.z); +PV0i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[5].w) * intBitsToFloat(PS1i)); +PV0i.w = clampFI32(PV0i.w); +R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(R1i.w)) + intBitsToFloat(R3i.z))); +PS0i = R2i.y; +// 9 +backupReg0i = R126i.x; +backupReg1i = R126i.y; +backupReg2i = R127i.z; +backupReg3i = R125i.x; +R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PV0i.w)) + -(intBitsToFloat(R5i.x)))); +PV1i.x = R126i.x; +R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PV0i.w)) + -(intBitsToFloat(R3i.y)))); +PV1i.y = R126i.y; +R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg2i),intBitsToFloat(PV0i.w)) + -(intBitsToFloat(R2i.z)))); +PV1i.z = R127i.z; +PV1i.w = floatBitsToInt(intBitsToFloat(R125i.y) + -(intBitsToFloat(uf_remappedPS[12].x))); +PV1i.w = clampFI32(PV1i.w); +R125i.x = floatBitsToInt(intBitsToFloat(backupReg3i) + -(intBitsToFloat(uf_remappedPS[12].y))); +R125i.x = clampFI32(R125i.x); +PS1i = R125i.x; +// 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; +R127i.x = floatBitsToInt(max(intBitsToFloat(R125i.z), intBitsToFloat(PV1i.w))); +PS0i = R127i.x; +// 11 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.w),intBitsToFloat(R1i.y),intBitsToFloat(R4i.w),intBitsToFloat(R6i.x)),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; +R125i.w = tempi.x; +tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); +PS1i = floatBitsToInt(tempResultf); +// 12 +backupReg0i = R127i.z; +backupReg1i = R127i.y; +backupReg2i = R127i.x; +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); +PV0i.x = R127i.x; +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS1i))); +PV0i.y = R127i.y; +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); +PV0i.z = R127i.z; +R124i.w = floatBitsToInt(max(intBitsToFloat(backupReg1i), intBitsToFloat(R125i.x))); +R127i.w = floatBitsToInt(-(intBitsToFloat(backupReg2i)) + 1.0); +PS0i = R127i.w; +// 13 +backupReg0i = R125i.w; +backupReg0i = R125i.w; +R126i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(PV0i.x)); +PV1i.x = R126i.x; +R126i.y = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.y)); +PV1i.y = R126i.y; +R125i.z = floatBitsToInt(intBitsToFloat(R6i.w) + intBitsToFloat(PV0i.z)); +PV1i.z = R125i.z; +R125i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(uf_remappedPS[11].z)); +R125i.w = clampFI32(R125i.w); +R126i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(uf_remappedPS[12].z))); +R126i.w = clampFI32(R126i.w); +PS1i = R126i.w; +// 14 +backupReg0i = R0i.y; +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.z = ((R126i.z == 0)?(backupReg0i):(R124i.x)); +PS0i = R2i.z; +// 15 +R5i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R5i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); +R5i.x = clampFI32(R5i.x); +PV1i.x = R5i.x; +PV1i.y = R5i.x; +PV1i.z = R5i.x; +PV1i.w = R5i.x; +tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); +PS1i = floatBitsToInt(tempResultf); +// 16 +backupReg0i = R126i.x; +backupReg1i = R126i.y; +backupReg2i = R125i.z; +backupReg3i = R124i.z; +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); +PV0i.x = R126i.x; +R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); +PV0i.y = R126i.y; +R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); +PV0i.z = R125i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R5i.w)) + intBitsToFloat(R4i.y))); +PV0i.w = R123i.w; +R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg3i), intBitsToFloat(R127i.w))); +PS0i = R124i.z; +// 17 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R5i.y),intBitsToFloat(R4i.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; +R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); +PS1i = R127i.w; +// 18 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.w),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R126i.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; +PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.x))); +// 19 +R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(R127i.w))); +R124i.y = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); +PV1i.y = R124i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.x),intBitsToFloat(PS0i)) + 1.0)); +PV1i.z = R123i.z; +R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); +R127i.w = floatBitsToInt(max(-(intBitsToFloat(R5i.z)), 0.0)); +PS1i = R127i.w; +// 20 +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.y))); +PV0i.x = R126i.x; +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.z))); +PV0i.z = floatBitsToInt(max(intBitsToFloat(R125i.w), intBitsToFloat(R126i.w))); +R126i.w = floatBitsToInt(-(intBitsToFloat(R124i.w)) + 1.0); +R4i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[0].z)),intBitsToFloat(R2i.y)) + 1.0)); +R4i.x = clampFI32(R4i.x); +PS0i = R4i.x; +// 21 +R9i.x = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); +R2i.y = floatBitsToInt(-(intBitsToFloat(R5i.w)) + 1.0); +R1i.z = floatBitsToInt(min(intBitsToFloat(R127i.w), 1.0)); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(PV0i.x))); +PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); +// 22 +R8i.x = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(PS1i)); +R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(R126i.w))); +R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV1i.w))); +R6i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].x), intBitsToFloat(R2i.z))); +R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].y), intBitsToFloat(R2i.z))); +PS0i = R7i.x; +// 0 +R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(R2i.y)) + intBitsToFloat(R5i.w))); +R123i.y = floatBitsToInt((intBitsToFloat(R6i.z) * intBitsToFloat(0x3f75c28f) + intBitsToFloat(0x3d23d70a))); +PV0i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(R9i.x)) + -(1.0))); +PV0i.z = R123i.z; +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].z), intBitsToFloat(R2i.z))); +PS0i = floatBitsToInt(intBitsToFloat(R6i.w) * intBitsToFloat(0x3ea2f983)); +// 1 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(PV0i.y))); +PV1i.y = floatBitsToInt(intBitsToFloat(R7i.x) * intBitsToFloat(0x3ea2f983)); +PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x3ea2f983)); +R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(uf_remappedPS[9].w)) + 1.0)); +PV1i.w = R126i.w; +PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PS0i))); +// 2 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PS1i))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PV1i.z))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PV1i.y))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV1i.x))); +R6i.w = 0; +PS0i = R6i.w; +// 3 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PV0i.y))); +PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) * 0.25); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PV0i.z))); +R6i.x = floatBitsToInt(min(intBitsToFloat(PV0i.x), intBitsToFloat(0x42000000))); +PS1i = R6i.x; +// 4 +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.z))); +R6i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), intBitsToFloat(0x42000000))); +R6i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), intBitsToFloat(0x42000000))); +PS0i = R6i.y; +// 5 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), intBitsToFloat(PV0i.y))); +// 6 +backupReg0i = R0i.w; +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.x))); +// 7 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].z), intBitsToFloat(PV0i.w))); +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].y), intBitsToFloat(PV0i.w))); +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].x), intBitsToFloat(PV0i.w))); +// 8 +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(PV1i.x))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(PV1i.y))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(PV1i.z))); +// 9 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV0i.w))); +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV0i.y))); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV0i.z))); +// 10 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PV1i.w))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PV1i.x))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PV1i.z))); +// 11 +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))); +// 12 +R0i.xyz = ivec3(R6i.x,R6i.y,R6i.z); +R0i.w = R6i.w; +// 13 +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/Workarounds/BreathOfTheWild_Intel_FlippedLights/d2082c0e0e8ddf27_000000000001fe49_ps.txt b/Workarounds/BreathOfTheWild_Intel_FlippedLights/d2082c0e0e8ddf27_000000000001fe49_ps.txt index 2fcb805a..7391d3b1 100644 --- a/Workarounds/BreathOfTheWild_Intel_FlippedLights/d2082c0e0e8ddf27_000000000001fe49_ps.txt +++ b/Workarounds/BreathOfTheWild_Intel_FlippedLights/d2082c0e0e8ddf27_000000000001fe49_ps.txt @@ -1,399 +1,399 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader d2082c0e0e8ddf27 -// Used to flip additional reflections on yellow lights -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 0x3d4f5000 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(1-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 = ((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)); -} +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +// shader d2082c0e0e8ddf27 +// Used to flip additional reflections on yellow lights +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 0x3d4f5000 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(1-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 = ((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/Workarounds/BreathOfTheWild_Intel_FlippedLights/rules.txt b/Workarounds/BreathOfTheWild_Intel_FlippedLights/rules.txt index de11444a..41d1a3e1 100644 --- a/Workarounds/BreathOfTheWild_Intel_FlippedLights/rules.txt +++ b/Workarounds/BreathOfTheWild_Intel_FlippedLights/rules.txt @@ -1,8 +1,8 @@ -[Definition] -titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = "Fix Flipped Lighting On Older Intel iGPU Drivers" -path = "The Legend of Zelda: Breath of the Wild/Workarounds/Intel iGPU/Fix Flipped Intel Lights" -description = This workaround targets users of Intel iGPU drivers 23.xx and older experiencing flipped lighting issues. These drivers may offer better performance but have graphical glitches. This pack aims to fix the graphical issues so the older drivers create visuals similar to the new drivers. These older drivers may be found on Intel's site https://downloadcenter.intel.com/download/27484/Graphics-Intel-Graphics-Driver-for-Windows-15-65-. -version = 3 - +[Definition] +titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 +name = "Fix Flipped Lighting On Older Intel iGPU Drivers" +path = "The Legend of Zelda: Breath of the Wild/Workarounds/Intel iGPU/Fix Flipped Intel Lights" +description = This workaround targets users of Intel iGPU drivers 23.xx and older experiencing flipped lighting issues. These drivers may offer better performance but have graphical glitches. This pack aims to fix the graphical issues so the older drivers create visuals similar to the new drivers. These older drivers may be found on Intel's site https://downloadcenter.intel.com/download/27484/Graphics-Intel-Graphics-Driver-for-Windows-15-65-. +version = 3 + #Altros \ No newline at end of file diff --git a/Workarounds/BreathOfTheWild_Intel_RemoveBloom/1c7db40ff5d693ab_001ffffe4924b249_ps.txt b/Workarounds/BreathOfTheWild_Intel_RemoveBloom/1c7db40ff5d693ab_001ffffe4924b249_ps.txt index 0fc6afb2..ff2aaf02 100644 --- a/Workarounds/BreathOfTheWild_Intel_RemoveBloom/1c7db40ff5d693ab_001ffffe4924b249_ps.txt +++ b/Workarounds/BreathOfTheWild_Intel_RemoveBloom/1c7db40ff5d693ab_001ffffe4924b249_ps.txt @@ -1,791 +1,791 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 1c7db40ff5d693ab -// Modifies fog over link and enemies -uniform ivec4 uf_remappedPS[33]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30364000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf45c6000 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 2 border: 1 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 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 0xf5c7b800 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: 1 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x38da5800 res 4x4x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5371000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 7) uniform samplerCubeArray textureUnitPS7;// Tex7 addr 0x3d0ea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x6) Sampler7 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0xf4ccf000 res 1280x720x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 12) uniform sampler2D textureUnitPS12;// Tex12 addr 0x3cfaa000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler12 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf528a800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0xf5589800 res 160x90x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 1) in vec4 passParameterSem2; -layout(location = 2) in vec4 passParameterSem6; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 1) out vec4 passPixelColor1; -layout(location = 2) out vec4 passPixelColor2; -layout(location = 3) out vec4 passPixelColor3; -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 R15i = ivec4(0); -ivec4 R16i = ivec4(0); -ivec4 R17i = 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 cubeMapArrayIndex7 = 0.0; -R0i = floatBitsToInt(passParameterSem0); -R1i = floatBitsToInt(passParameterSem2); -R2i = floatBitsToInt(passParameterSem6); -if( activeMaskStackC[1] == true ) { -R3i.w = floatBitsToInt(texture(textureUnitPS6, intBitsToFloat(R0i.xy)).x); -R7i.xyzw = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R2i.zw)).xyzw); -R15i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R2i.zw)).xyzw); -R2i.xy = floatBitsToInt(texture(textureUnitPS14, intBitsToFloat(R0i.xy)).xw); -R4i.xy = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R0i.xy)).xy); -R16i.xyz = floatBitsToInt(texture(textureUnitPS4, intBitsToFloat(R2i.zw)).xyz); -R14i.x = floatBitsToInt(texture(textureUnitPS11, intBitsToFloat(R2i.zw)).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -R124i.x = floatBitsToInt((intBitsToFloat(R7i.x) * 2.0 + -(1.0))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(uf_remappedPS[0].x)) + intBitsToFloat(uf_remappedPS[1].x))); -PV0i.y = R125i.y; -R3i.z = 0; -R5i.w = 0x3f800000; -R126i.y = floatBitsToInt((intBitsToFloat(R7i.y) * 2.0 + -(1.0))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), -(intBitsToFloat(PV0i.y)))); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), -(intBitsToFloat(PV0i.y)))); -PV1i.y = R127i.y; -R127i.z = floatBitsToInt(-(intBitsToFloat(PV0i.y))); -PV1i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(uf_remappedPS[2].x)) + -(intBitsToFloat(uf_remappedPS[2].y)))); -R127i.w = clampFI32(R127i.w); -R126i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[3].w)) + 1.0); -PS1i = R126i.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; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedPS[4].x))); -// 3 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedPS[4].y)) + intBitsToFloat(PS0i))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R127i.w)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(uf_remappedPS[5].x))); -R10i.w = floatBitsToInt(-(intBitsToFloat(R127i.z)) * intBitsToFloat(0x3ba3d70a)); -PS1i = floatBitsToInt(sqrt(intBitsToFloat(PV0i.x))); -// 4 -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedPS[5].y)) + intBitsToFloat(PV1i.z))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(uf_remappedPS[6].x))); -R125i.z = floatBitsToInt((intBitsToFloat(R7i.z) * 2.0 + -(1.0))); -R127i.w = floatBitsToInt(max(intBitsToFloat(R15i.y), intBitsToFloat(R15i.z))); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PS1i)); -// 5 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedPS[6].y)) + intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -PV1i.y = R0i.y; -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.y)),intBitsToFloat(uf_remappedPS[4].z)) + intBitsToFloat(backupReg0i))); -PV1i.w = R123i.w; -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -PS1i = R3i.x; -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.y)),intBitsToFloat(PV1i.y)) + 1.0)); -PV0i.x = R123i.x; -R6i.y = floatBitsToInt(max(intBitsToFloat(R15i.x), intBitsToFloat(R127i.w))); -R9i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(PV1i.w)); -PV0i.z = R9i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.y)),intBitsToFloat(uf_remappedPS[5].z)) + intBitsToFloat(R125i.x))); -PV0i.w = R123i.w; -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R127i.y = floatBitsToInt(tempResultf); -PS0i = R127i.y; -// 7 -R5i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[5].w) + intBitsToFloat(PV0i.w)); -PV1i.x = R5i.x; -R8i.y = PV0i.z; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.y)),intBitsToFloat(uf_remappedPS[6].z)) + intBitsToFloat(R127i.x))); -PV1i.z = R123i.z; -R126i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(0xbe99999a)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -R4i.z = floatBitsToInt(tempResultf); -PS1i = R4i.z; -// 8 -R9i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3a83126f)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y), intBitsToFloat(R127i.y))); -R8i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[6].w) + intBitsToFloat(PV1i.z)); -PV0i.z = R8i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].x), intBitsToFloat(R127i.y))); -R13i.x = floatBitsToInt(min(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y))); -PS0i = R13i.x; -// 9 -R127i.x = uf_remappedPS[7].y; -R9i.y = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3a83126f)); -R127i.z = uf_remappedPS[8].y; -R125i.w = floatBitsToInt(min(intBitsToFloat(R15i.y), intBitsToFloat(R15i.z))); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 10 -backupReg0i = R127i.w; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(PS1i)) + intBitsToFloat(uf_remappedPS[3].w))/2.0); -PV0i.x = R123i.x; -R2i.y = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(0x2edbe6ff)); -R126i.z = uf_remappedPS[9].y; -R127i.w = floatBitsToInt(intBitsToFloat(R13i.x) + intBitsToFloat(0xbecccccd)); -R125i.x = floatBitsToInt(exp2(intBitsToFloat(backupReg0i))); -PS0i = R125i.x; -// 11 -backupReg0i = R126i.w; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(uf_remappedPS[10].x)) + -(intBitsToFloat(uf_remappedPS[10].y)))); -R123i.x = clampFI32(R123i.x); -PV1i.x = R123i.x; -R11i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 0.5); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(uf_remappedPS[11].y))); -R126i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x40200001)); -R126i.w = clampFI32(R126i.w); -R14i.y = floatBitsToInt((intBitsToFloat(0xbf59999a) * intBitsToFloat(R4i.y) + 1.0)); -PS1i = R14i.y; -// 12 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.z),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R5i.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.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -PS0i = R127i.x; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.x),intBitsToFloat(R126i.y),intBitsToFloat(R125i.z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R126i.y),intBitsToFloat(R125i.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); -// 14 -R0i.x = floatBitsToInt(min(intBitsToFloat(R15i.x), intBitsToFloat(R125i.w))); -R12i.y = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(0x41200000)); -R12i.y = clampFI32(R12i.y); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[12].z), intBitsToFloat(PS1i))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),-(intBitsToFloat(R125i.x))) + intBitsToFloat(uf_remappedPS[3].z))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 15 -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(uf_remappedPS[13].x)) + intBitsToFloat(uf_remappedPS[14].w))); -R125i.x = clampFI32(R125i.x); -R127i.y = floatBitsToInt((intBitsToFloat(PS0i) * 4.0 + intBitsToFloat(0xc0400000))); -R127i.y = clampFI32(R127i.y); -R126i.z = floatBitsToInt(intBitsToFloat(R126i.w) * intBitsToFloat(0x3dcccccd)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R14i.y))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 16 -R17i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(PS1i))); -R17i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS1i))); -R13i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(0x3ba3d70a) + intBitsToFloat(0xbfe66666))); -tempResultf = log2(intBitsToFloat(R127i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 17 -R6i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(0x3f4ccccd)); -R13i.y = floatBitsToInt(intBitsToFloat(R127i.y) + -(0.5)); -R13i.y = floatBitsToInt(intBitsToFloat(R13i.y) * 4.0); -R13i.y = clampFI32(R13i.y); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[12].x), intBitsToFloat(PS0i))); -R6i.w = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(0x3f4ccccd)); -PS1i = floatBitsToInt(exp2(intBitsToFloat(R127i.z))); -// 18 -R8i.x = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(0x3f4ccccd)); -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.z)),intBitsToFloat(R127i.w)) + intBitsToFloat(R127i.w))); -R123i.y = clampFI32(R123i.y); -PV0i.y = R123i.y; -R2i.z = floatBitsToInt(-(intBitsToFloat(R2i.w)) + 1.0); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[12].w)),intBitsToFloat(PS1i)) + 1.0)); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.z))); -// 19 -R12i.x = R1i.w; -R12i.x = clampFI32(R12i.x); -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PS0i)),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.w))); -PV1i.y = R123i.y; -R6i.z = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(0x3dcccccd) + intBitsToFloat(PV0i.y))); -PV1i.w = floatBitsToInt(intBitsToFloat(R13i.y) + intBitsToFloat(0x3f4ccccd)); -PV1i.w = clampFI32(PV1i.w); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(R124i.z)); -// 20 -R2i.x = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(0x3dcccccd) + 1.0)); -R5i.y = R6i.y; -R5i.y = clampFI32(R5i.y); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(uf_remappedPS[15].w))); -R3i.w = floatBitsToInt(intBitsToFloat(PV1i.w) + -(1.0)); -tempResultf = log2(intBitsToFloat(R125i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.w = floatBitsToInt(tempResultf); -PS0i = R0i.w; -} -if( activeMaskStackC[1] == true ) { -// 0 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[16].x), intBitsToFloat(uf_remappedPS[17].w))); -PV0i.x = R126i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[16].y), intBitsToFloat(uf_remappedPS[17].w))); -PV0i.y = R125i.y; -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R14i.y))); -PV0i.z = R10i.z; -R4i.w = floatBitsToInt(intBitsToFloat(R2i.x) * intBitsToFloat(0x42960000)); -R126i.w = floatBitsToInt(1.0 / intBitsToFloat(R2i.y)); -PS0i = R126i.w; -// 1 -R125i.x = PV0i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R0i.x)),intBitsToFloat(PS0i)) + 1.0)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[16].z), intBitsToFloat(uf_remappedPS[17].w))); -PV1i.z = R126i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.y)),intBitsToFloat(PV0i.y)) + 1.0)); -PV1i.w = R123i.w; -R0i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.z)),intBitsToFloat(R2i.z)) + intBitsToFloat(R2i.z))); -PS1i = R0i.z; -// 2 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[13].y), intBitsToFloat(R0i.w))); -PV0i.y = PV1i.z; -R2i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[18].x) + -(intBitsToFloat(R6i.x))); -R0i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[18].y) + -(intBitsToFloat(R6i.w))); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.w)); -PS0i = floatBitsToInt(tempResultf); -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R5i.z),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(PV0i.y),intBitsToFloat(R3i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R4i.z))); -// 4 -backupReg0i = R127i.y; -backupReg1i = R127i.x; -R127i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(0x2edbe6ff)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PV1i.x))); -R124i.z = backupReg0i; -R124i.z = clampFI32(R124i.z); -R8i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[18].z) + -(intBitsToFloat(R8i.x))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(backupReg1i))); -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R126i.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; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(uf_remappedPS[19].w))); -// 6 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PS1i))); -R126i.y = R4i.x; -R126i.y = clampFI32(R126i.y); -PV0i.z = floatBitsToInt(max(-(intBitsToFloat(PV1i.x)), 0.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + -(intBitsToFloat(R127i.y))); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R127i.x)); -// 7 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(PS0i))); -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R3i.y)) + intBitsToFloat(R127i.y))); -PV1i.z = R123i.z; -R127i.w = floatBitsToInt(intBitsToFloat(R15i.w) * intBitsToFloat(0x437f0000)); -R127i.y = floatBitsToInt(-(intBitsToFloat(R6i.z)) + 1.0); -PS1i = R127i.y; -// 8 -R127i.x = floatBitsToInt(intBitsToFloat(R15i.x) + -(intBitsToFloat(R6i.y))); -PV0i.y = floatBitsToInt(max(-(intBitsToFloat(PV1i.z)), intBitsToFloat(0xbf7d70a4))); -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) / 2.0); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x40a00000)); -PV0i.z = clampFI32(PV0i.z); -R125i.w = floatBitsToInt(intBitsToFloat(R15i.y) + -(intBitsToFloat(R6i.y))); -R124i.w = floatBitsToInt(intBitsToFloat(R15i.z) + -(intBitsToFloat(R6i.y))); -PS0i = R124i.w; -// 9 -backupReg0i = R127i.y; -backupReg1i = R6i.z; -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(PV0i.z)) + 1.0)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(R5i.y))); -R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg1i))); -R126i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + 0.5); -PV1i.w = R126i.w; -R3i.w = 0; -PS1i = R3i.w; -// 10 -backupReg0i = R127i.x; -backupReg1i = R127i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R125i.x)) + intBitsToFloat(R6i.y))); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(R125i.x)) + intBitsToFloat(R6i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -R123i.w = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0xbc996e30) + intBitsToFloat(0x3d981626))); -PV0i.w = R123i.w; -R127i.w = int(intBitsToFloat(backupReg1i)); -PS0i = R127i.w; -// 11 -backupReg0i = R125i.x; -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(R6i.y))); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R124i.x))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PV0i.w)) + intBitsToFloat(0xbe593484))); -PV1i.z = R123i.z; -R9i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R124i.x))); -PS1i = floatBitsToInt(sqrt(intBitsToFloat(PV0i.z))); -// 12 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R124i.x))); -PV0i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3f22f983)); -PV0i.z = floatBitsToInt(intBitsToFloat(0x3f895ef0) * intBitsToFloat(R127i.y)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(0x3fc90da4))); -PV0i.w = R123i.w; -R127i.y = R127i.w & int(1); -PS0i = R127i.y; -// 13 -backupReg0i = R2i.w; -backupReg0i = R2i.w; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),-(intBitsToFloat(PV0i.w))) + 1.0)); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R127i.x)) + intBitsToFloat(0xba0a8ec8))); -R5i.y = clampFI32(R5i.y); -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R126i.y)) + intBitsToFloat(0xba0a8ec8))); -R5i.z = clampFI32(R5i.z); -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),-(intBitsToFloat(R10i.z))) + intBitsToFloat(backupReg0i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R125i.x)) + intBitsToFloat(0xba0a8ec8))); -R3i.z = clampFI32(R3i.z); -PS1i = R3i.z; -// 14 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R17i.x),intBitsToFloat(R17i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[16].x),intBitsToFloat(uf_remappedPS[16].y),intBitsToFloat(uf_remappedPS[16].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(float(R127i.y)); -// 15 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.x), intBitsToFloat(PS0i))); -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.y), intBitsToFloat(PS0i))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.z), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(max(-(intBitsToFloat(PV0i.x)), 0.0)); -PS1i = floatBitsToInt(intBitsToFloat(R7i.z) * intBitsToFloat(0x3eaaaaab)); -// 16 -R123i.x = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(0x3eaaaaab) + intBitsToFloat(PS1i))); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.z), -(intBitsToFloat(R3i.w)))); -// 17 -backupReg0i = R7i.x; -R7i.x = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x3eaaaaab) + intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(0xbecccccd)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.z),-(intBitsToFloat(R126i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 18 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R17i.y),-(intBitsToFloat(R125i.y))) + intBitsToFloat(PS1i))); -PV0i.x = R123i.x; -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R4i.w))); -R7i.z = clampFI32(R7i.z); -// 19 -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R17i.x),-(intBitsToFloat(R126i.x))) + intBitsToFloat(PV0i.x))); -PV1i.z = R12i.z; -// 20 -PV0i.y = PV1i.z; -PV0i.y = clampFI32(PV0i.y); -// 21 -R14i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(0xbecccccd)); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[20].x),intBitsToFloat(uf_remappedPS[20].y),intBitsToFloat(uf_remappedPS[20].z),intBitsToFloat(uf_remappedPS[20].w)))); -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(R8i.y),intBitsToFloat(R8i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[21].x),intBitsToFloat(uf_remappedPS[21].y),intBitsToFloat(uf_remappedPS[21].z),intBitsToFloat(uf_remappedPS[21].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R126i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[22].x),intBitsToFloat(uf_remappedPS[22].y),intBitsToFloat(uf_remappedPS[22].z),intBitsToFloat(uf_remappedPS[22].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 -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R126i.z))); -} -if( activeMaskStackC[1] == true ) { -R9i.y = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R9i.xy),0.0).x); -R10i.w = floatBitsToInt(textureLod(textureUnitPS5, intBitsToFloat(R10i.xy),intBitsToFloat(R10i.w)).x); -R11i.xyz = floatBitsToInt(texture(textureUnitPS12, intBitsToFloat(R11i.xy)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R9i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(R10i.w) + intBitsToFloat(uf_remappedPS[23].z)); -PV0i.x = clampFI32(PV0i.x); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.x), intBitsToFloat(R6i.z))); -R123i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * 2.0 + -(1.0))); -PV0i.z = R123i.z; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.y), intBitsToFloat(R6i.z))); -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R6i.z))); -PS0i = R11i.y; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(PV0i.z) * intBitsToFloat(0x41c80000) + intBitsToFloat(R9i.z))); -PV1i.x = R123i.x; -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[24].z))); -PV1i.y = R3i.y; -// 2 -R4i.y = PV1i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R12i.y))); -R10i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(uf_remappedPS[25].x)); -// 3 -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.z)); -PV1i.z = clampFI32(PV1i.z); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + -(1.0)); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(R8i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(R6i.w))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(PV1i.z)) + intBitsToFloat(R6i.x))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R12i.x)) + 1.0)); -PV0i.w = R123i.w; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R7i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[26].z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[26].y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[26].x))); -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[17].w), intBitsToFloat(PV1i.y))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[17].w), intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[17].w), intBitsToFloat(PV1i.w))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.y), intBitsToFloat(PV1i.x))); -// 7 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(R9i.w))); -PV1i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R4i.x))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(R6i.y))); -PV1i.w = R123i.w; -// 8 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R5i.z))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R5i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R3i.z))); -// 9 -R0i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); -R0i.y = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); -R2i.z = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.w),intBitsToFloat(uf_remappedPS[27].x)) + intBitsToFloat(uf_remappedPS[28].w))); -R123i.y = clampFI32(R123i.y); -PV0i.y = R123i.y; -// 1 -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[29].w))); -// 2 -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R14i.y))); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.w)),intBitsToFloat(R0i.z)) + intBitsToFloat(R0i.z))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R0i.z))); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[29].y), intBitsToFloat(PV1i.y))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[29].z), intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[29].x), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PV1i.x))); -R5i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R3i.x)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -PS0i = R5i.z; -// 5 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].z),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.y))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].x),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.z))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].y),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.x))); -PV1i.z = R123i.z; -R4i.w = 0; -// 6 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(R2i.w)) + intBitsToFloat(PV1i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(R2i.w)) + intBitsToFloat(PV1i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),intBitsToFloat(R2i.w)) + intBitsToFloat(PV1i.x))); -PV0i.w = R123i.w; -// 7 -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].x),intBitsToFloat(R10i.z)) + intBitsToFloat(PV0i.y))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].y),intBitsToFloat(R10i.z)) + intBitsToFloat(PV0i.z))); -R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].z),intBitsToFloat(R10i.z)) + intBitsToFloat(PV0i.w))); -// 8 -predResult = (intBitsToFloat(R14i.x) != intBitsToFloat(0x3dc0c0c1)); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R3i.xyz = floatBitsToInt(vec3(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R4i.z)) + vec3(intBitsToFloat(R0i.x),intBitsToFloat(R0i.y),intBitsToFloat(R2i.z))); -R3i.w = 0x3f800000; -R0i.x = 0; -PS0i = R0i.x; -// 1 -R0i.yzw = ivec3(0,0,0); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R17i.x),intBitsToFloat(R17i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[30].x),intBitsToFloat(uf_remappedPS[30].y),intBitsToFloat(uf_remappedPS[30].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.w = 0x40400000; -PS0i = R0i.w; -// 1 -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R17i.x),intBitsToFloat(R17i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[31].x),intBitsToFloat(uf_remappedPS[31].y),intBitsToFloat(uf_remappedPS[31].z),0.0))); -PV1i.x = R127i.x; -PV1i.y = R127i.x; -PV1i.z = R127i.x; -PV1i.w = R127i.x; -R127i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x))); -PS1i = R127i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R17i.x),intBitsToFloat(R17i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[32].x),intBitsToFloat(uf_remappedPS[32].y),intBitsToFloat(uf_remappedPS[32].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R13i.x))); -// 3 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -backupReg1i = R127i.z; -backupReg1i = R127i.z; -redcCUBE(vec4(intBitsToFloat(R127i.z),intBitsToFloat(R127i.z),intBitsToFloat(backupReg0i),intBitsToFloat(PV0i.x)),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg1i)),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; -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(PS0i))); -R2i.z = clampFI32(R2i.z); -PS1i = R2i.z; -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(R14i.z) * intBitsToFloat(0x42960000)); -PV0i.x = clampFI32(PV0i.x); -R0i.z = PV1i.w; -PS0i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV1i.z))); -// 5 -backupReg0i = R1i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PS0i)) + 1.5)); -PV1i.x = R123i.x; -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].y),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg0i))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].x),intBitsToFloat(PV0i.x)) + intBitsToFloat(R1i.x))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + 1.5)); -PV1i.w = R123i.w; -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].z),intBitsToFloat(PV0i.x)) + intBitsToFloat(R1i.z))); -PS1i = R1i.x; -// 6 -R0i.x = PV1i.w; -R0i.y = PV1i.x; -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.x), intBitsToFloat(PV1i.z))); -PS0i = R3i.x; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(textureLod(textureUnitPS7, vec4(redcCUBEReverse(intBitsToFloat(R0i.xy),R0i.z),cubeMapArrayIndex7),intBitsToFloat(R0i.w)).xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].y),intBitsToFloat(R2i.z)) + intBitsToFloat(R0i.y))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].x),intBitsToFloat(R2i.z)) + intBitsToFloat(R0i.x))); -PV0i.y = R123i.y; -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.z), intBitsToFloat(R1i.x))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].z),intBitsToFloat(R2i.z)) + intBitsToFloat(R0i.z))); -PV0i.w = R123i.w; -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.y), intBitsToFloat(R1i.y))); -PS0i = R3i.y; -// 1 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R2i.x))); -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R2i.y))); -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(R4i.z))); -R0i.w = 0; -R3i.w = 0x3f800000; -PS1i = R3i.w; -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R1i.w = 0x3f800000; -// 1 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -backupReg3i = R3i.w; -R3i.xyz = ivec3(backupReg0i,backupReg1i,backupReg2i); -R3i.w = backupReg3i; -// 2 -R2i.xyz = ivec3(R0i.x,R0i.y,R0i.z); -R2i.w = R0i.w; -// 3 -backupReg0i = R1i.w; -R1i.xyz = ivec3(R4i.x,R5i.y,R6i.z); -R1i.w = backupReg0i; -// 4 -R0i.xyz = ivec3(R13i.x,R4i.y,R5i.z); -R0i.w = R4i.w; -// 5 -R4i.xyz = ivec3(R7i.x,R7i.x,R7i.x); -R4i.w = R7i.x; -} -// 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))*.35; -passPixelColor2 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -passPixelColor3 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); -passPixelColor4 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -} +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +// shader 1c7db40ff5d693ab +// Modifies fog over link and enemies +uniform ivec4 uf_remappedPS[33]; +layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30364000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 +layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf45c6000 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 2 border: 1 +layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 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 0xf5c7b800 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: 1 +layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x38da5800 res 4x4x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5371000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 7) uniform samplerCubeArray textureUnitPS7;// Tex7 addr 0x3d0ea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x6) Sampler7 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0xf4ccf000 res 1280x720x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 12) uniform sampler2D textureUnitPS12;// Tex12 addr 0x3cfaa000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler12 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf528a800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0xf5589800 res 160x90x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 2 2 2 border: 1 +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem2; +layout(location = 2) in vec4 passParameterSem6; +layout(location = 0) out vec4 passPixelColor0; +layout(location = 1) out vec4 passPixelColor1; +layout(location = 2) out vec4 passPixelColor2; +layout(location = 3) out vec4 passPixelColor3; +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 R15i = ivec4(0); +ivec4 R16i = ivec4(0); +ivec4 R17i = 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 cubeMapArrayIndex7 = 0.0; +R0i = floatBitsToInt(passParameterSem0); +R1i = floatBitsToInt(passParameterSem2); +R2i = floatBitsToInt(passParameterSem6); +if( activeMaskStackC[1] == true ) { +R3i.w = floatBitsToInt(texture(textureUnitPS6, intBitsToFloat(R0i.xy)).x); +R7i.xyzw = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R2i.zw)).xyzw); +R15i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R2i.zw)).xyzw); +R2i.xy = floatBitsToInt(texture(textureUnitPS14, intBitsToFloat(R0i.xy)).xw); +R4i.xy = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R0i.xy)).xy); +R16i.xyz = floatBitsToInt(texture(textureUnitPS4, intBitsToFloat(R2i.zw)).xyz); +R14i.x = floatBitsToInt(texture(textureUnitPS11, intBitsToFloat(R2i.zw)).x); +} +if( activeMaskStackC[1] == true ) { +// 0 +R124i.x = floatBitsToInt((intBitsToFloat(R7i.x) * 2.0 + -(1.0))); +R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(uf_remappedPS[0].x)) + intBitsToFloat(uf_remappedPS[1].x))); +PV0i.y = R125i.y; +R3i.z = 0; +R5i.w = 0x3f800000; +R126i.y = floatBitsToInt((intBitsToFloat(R7i.y) * 2.0 + -(1.0))); +PS0i = R126i.y; +// 1 +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), -(intBitsToFloat(PV0i.y)))); +PV1i.x = R126i.x; +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), -(intBitsToFloat(PV0i.y)))); +PV1i.y = R127i.y; +R127i.z = floatBitsToInt(-(intBitsToFloat(PV0i.y))); +PV1i.z = R127i.z; +R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(uf_remappedPS[2].x)) + -(intBitsToFloat(uf_remappedPS[2].y)))); +R127i.w = clampFI32(R127i.w); +R126i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[3].w)) + 1.0); +PS1i = R126i.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; +PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedPS[4].x))); +// 3 +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedPS[4].y)) + intBitsToFloat(PS0i))); +R3i.y = floatBitsToInt(-(intBitsToFloat(R127i.w)) + 1.0); +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(uf_remappedPS[5].x))); +R10i.w = floatBitsToInt(-(intBitsToFloat(R127i.z)) * intBitsToFloat(0x3ba3d70a)); +PS1i = floatBitsToInt(sqrt(intBitsToFloat(PV0i.x))); +// 4 +R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedPS[5].y)) + intBitsToFloat(PV1i.z))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(uf_remappedPS[6].x))); +R125i.z = floatBitsToInt((intBitsToFloat(R7i.z) * 2.0 + -(1.0))); +R127i.w = floatBitsToInt(max(intBitsToFloat(R15i.y), intBitsToFloat(R15i.z))); +PS0i = floatBitsToInt(1.0 / intBitsToFloat(PS1i)); +// 5 +backupReg0i = R127i.x; +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedPS[6].y)) + intBitsToFloat(PV0i.y))); +R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); +PV1i.y = R0i.y; +R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.y)),intBitsToFloat(uf_remappedPS[4].z)) + intBitsToFloat(backupReg0i))); +PV1i.w = R123i.w; +R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); +PS1i = R3i.x; +// 6 +R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.y)),intBitsToFloat(PV1i.y)) + 1.0)); +PV0i.x = R123i.x; +R6i.y = floatBitsToInt(max(intBitsToFloat(R15i.x), intBitsToFloat(R127i.w))); +R9i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[4].w) + intBitsToFloat(PV1i.w)); +PV0i.z = R9i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.y)),intBitsToFloat(uf_remappedPS[5].z)) + intBitsToFloat(R125i.x))); +PV0i.w = R123i.w; +tempResultf = log2(intBitsToFloat(R3i.y)); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +R127i.y = floatBitsToInt(tempResultf); +PS0i = R127i.y; +// 7 +R5i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[5].w) + intBitsToFloat(PV0i.w)); +PV1i.x = R5i.x; +R8i.y = PV0i.z; +R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.y)),intBitsToFloat(uf_remappedPS[6].z)) + intBitsToFloat(R127i.x))); +PV1i.z = R123i.z; +R126i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(0xbe99999a)); +tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); +R4i.z = floatBitsToInt(tempResultf); +PS1i = R4i.z; +// 8 +R9i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3a83126f)); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y), intBitsToFloat(R127i.y))); +R8i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[6].w) + intBitsToFloat(PV1i.z)); +PV0i.z = R8i.z; +R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].x), intBitsToFloat(R127i.y))); +R13i.x = floatBitsToInt(min(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y))); +PS0i = R13i.x; +// 9 +R127i.x = uf_remappedPS[7].y; +R9i.y = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3a83126f)); +R127i.z = uf_remappedPS[8].y; +R125i.w = floatBitsToInt(min(intBitsToFloat(R15i.y), intBitsToFloat(R15i.z))); +PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); +// 10 +backupReg0i = R127i.w; +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(PS1i)) + intBitsToFloat(uf_remappedPS[3].w))/2.0); +PV0i.x = R123i.x; +R2i.y = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(0x2edbe6ff)); +R126i.z = uf_remappedPS[9].y; +R127i.w = floatBitsToInt(intBitsToFloat(R13i.x) + intBitsToFloat(0xbecccccd)); +R125i.x = floatBitsToInt(exp2(intBitsToFloat(backupReg0i))); +PS0i = R125i.x; +// 11 +backupReg0i = R126i.w; +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(uf_remappedPS[10].x)) + -(intBitsToFloat(uf_remappedPS[10].y)))); +R123i.x = clampFI32(R123i.x); +PV1i.x = R123i.x; +R11i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 0.5); +R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(uf_remappedPS[11].y))); +R126i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x40200001)); +R126i.w = clampFI32(R126i.w); +R14i.y = floatBitsToInt((intBitsToFloat(0xbf59999a) * intBitsToFloat(R4i.y) + 1.0)); +PS1i = R14i.y; +// 12 +backupReg0i = R0i.y; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.z),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R5i.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.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); +PS0i = R127i.x; +// 13 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.x),intBitsToFloat(R126i.y),intBitsToFloat(R125i.z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R126i.y),intBitsToFloat(R125i.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); +// 14 +R0i.x = floatBitsToInt(min(intBitsToFloat(R15i.x), intBitsToFloat(R125i.w))); +R12i.y = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(0x41200000)); +R12i.y = clampFI32(R12i.y); +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[12].z), intBitsToFloat(PS1i))); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z),-(intBitsToFloat(R125i.x))) + intBitsToFloat(uf_remappedPS[3].z))); +PV0i.w = R123i.w; +PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); +// 15 +R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(uf_remappedPS[13].x)) + intBitsToFloat(uf_remappedPS[14].w))); +R125i.x = clampFI32(R125i.x); +R127i.y = floatBitsToInt((intBitsToFloat(PS0i) * 4.0 + intBitsToFloat(0xc0400000))); +R127i.y = clampFI32(R127i.y); +R126i.z = floatBitsToInt(intBitsToFloat(R126i.w) * intBitsToFloat(0x3dcccccd)); +R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R14i.y))); +PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); +// 16 +R17i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(PS1i))); +R17i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS1i))); +R13i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PS1i))); +R127i.w = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(0x3ba3d70a) + intBitsToFloat(0xbfe66666))); +tempResultf = log2(intBitsToFloat(R127i.x)); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS0i = floatBitsToInt(tempResultf); +// 17 +R6i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(0x3f4ccccd)); +R13i.y = floatBitsToInt(intBitsToFloat(R127i.y) + -(0.5)); +R13i.y = floatBitsToInt(intBitsToFloat(R13i.y) * 4.0); +R13i.y = clampFI32(R13i.y); +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[12].x), intBitsToFloat(PS0i))); +R6i.w = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(0x3f4ccccd)); +PS1i = floatBitsToInt(exp2(intBitsToFloat(R127i.z))); +// 18 +R8i.x = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(0x3f4ccccd)); +R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.z)),intBitsToFloat(R127i.w)) + intBitsToFloat(R127i.w))); +R123i.y = clampFI32(R123i.y); +PV0i.y = R123i.y; +R2i.z = floatBitsToInt(-(intBitsToFloat(R2i.w)) + 1.0); +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[12].w)),intBitsToFloat(PS1i)) + 1.0)); +PV0i.w = R123i.w; +PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.z))); +// 19 +R12i.x = R1i.w; +R12i.x = clampFI32(R12i.x); +R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PS0i)),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.w))); +PV1i.y = R123i.y; +R6i.z = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(0x3dcccccd) + intBitsToFloat(PV0i.y))); +PV1i.w = floatBitsToInt(intBitsToFloat(R13i.y) + intBitsToFloat(0x3f4ccccd)); +PV1i.w = clampFI32(PV1i.w); +PS1i = floatBitsToInt(1.0 / intBitsToFloat(R124i.z)); +// 20 +R2i.x = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(0x3dcccccd) + 1.0)); +R5i.y = R6i.y; +R5i.y = clampFI32(R5i.y); +R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(uf_remappedPS[15].w))); +R3i.w = floatBitsToInt(intBitsToFloat(PV1i.w) + -(1.0)); +tempResultf = log2(intBitsToFloat(R125i.x)); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +R0i.w = floatBitsToInt(tempResultf); +PS0i = R0i.w; +} +if( activeMaskStackC[1] == true ) { +// 0 +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[16].x), intBitsToFloat(uf_remappedPS[17].w))); +PV0i.x = R126i.x; +R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[16].y), intBitsToFloat(uf_remappedPS[17].w))); +PV0i.y = R125i.y; +R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R14i.y))); +PV0i.z = R10i.z; +R4i.w = floatBitsToInt(intBitsToFloat(R2i.x) * intBitsToFloat(0x42960000)); +R126i.w = floatBitsToInt(1.0 / intBitsToFloat(R2i.y)); +PS0i = R126i.w; +// 1 +R125i.x = PV0i.x; +R127i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R0i.x)),intBitsToFloat(PS0i)) + 1.0)); +R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[16].z), intBitsToFloat(uf_remappedPS[17].w))); +PV1i.z = R126i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.y)),intBitsToFloat(PV0i.y)) + 1.0)); +PV1i.w = R123i.w; +R0i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.z)),intBitsToFloat(R2i.z)) + intBitsToFloat(R2i.z))); +PS1i = R0i.z; +// 2 +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[13].y), intBitsToFloat(R0i.w))); +PV0i.y = PV1i.z; +R2i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[18].x) + -(intBitsToFloat(R6i.x))); +R0i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[18].y) + -(intBitsToFloat(R6i.w))); +tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.w)); +PS0i = floatBitsToInt(tempResultf); +// 3 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R5i.z),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(PV0i.y),intBitsToFloat(R3i.z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R4i.z))); +// 4 +backupReg0i = R127i.y; +backupReg1i = R127i.x; +R127i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(0x2edbe6ff)); +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PV1i.x))); +R124i.z = backupReg0i; +R124i.z = clampFI32(R124i.z); +R8i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[18].z) + -(intBitsToFloat(R8i.x))); +PS0i = floatBitsToInt(exp2(intBitsToFloat(backupReg1i))); +// 5 +backupReg0i = R0i.y; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R126i.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; +PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(uf_remappedPS[19].w))); +// 6 +R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PS1i))); +R126i.y = R4i.x; +R126i.y = clampFI32(R126i.y); +PV0i.z = floatBitsToInt(max(-(intBitsToFloat(PV1i.x)), 0.0)); +PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + -(intBitsToFloat(R127i.y))); +PS0i = floatBitsToInt(1.0 / intBitsToFloat(R127i.x)); +// 7 +R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(PS0i))); +PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R3i.y)) + intBitsToFloat(R127i.y))); +PV1i.z = R123i.z; +R127i.w = floatBitsToInt(intBitsToFloat(R15i.w) * intBitsToFloat(0x437f0000)); +R127i.y = floatBitsToInt(-(intBitsToFloat(R6i.z)) + 1.0); +PS1i = R127i.y; +// 8 +R127i.x = floatBitsToInt(intBitsToFloat(R15i.x) + -(intBitsToFloat(R6i.y))); +PV0i.y = floatBitsToInt(max(-(intBitsToFloat(PV1i.z)), intBitsToFloat(0xbf7d70a4))); +PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) / 2.0); +PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x40a00000)); +PV0i.z = clampFI32(PV0i.z); +R125i.w = floatBitsToInt(intBitsToFloat(R15i.y) + -(intBitsToFloat(R6i.y))); +R124i.w = floatBitsToInt(intBitsToFloat(R15i.z) + -(intBitsToFloat(R6i.y))); +PS0i = R124i.w; +// 9 +backupReg0i = R127i.y; +backupReg1i = R6i.z; +R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(PV0i.z)) + 1.0)); +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(R5i.y))); +R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg1i))); +R126i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + 0.5); +PV1i.w = R126i.w; +R3i.w = 0; +PS1i = R3i.w; +// 10 +backupReg0i = R127i.x; +backupReg1i = R127i.w; +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R125i.x)) + intBitsToFloat(R6i.y))); +R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(R125i.x)) + intBitsToFloat(R6i.y))); +PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); +R123i.w = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0xbc996e30) + intBitsToFloat(0x3d981626))); +PV0i.w = R123i.w; +R127i.w = int(intBitsToFloat(backupReg1i)); +PS0i = R127i.w; +// 11 +backupReg0i = R125i.x; +R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(R6i.y))); +R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R124i.x))); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PV0i.w)) + intBitsToFloat(0xbe593484))); +PV1i.z = R123i.z; +R9i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R124i.x))); +PS1i = floatBitsToInt(sqrt(intBitsToFloat(PV0i.z))); +// 12 +R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R124i.x))); +PV0i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3f22f983)); +PV0i.z = floatBitsToInt(intBitsToFloat(0x3f895ef0) * intBitsToFloat(R127i.y)); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(0x3fc90da4))); +PV0i.w = R123i.w; +R127i.y = R127i.w & int(1); +PS0i = R127i.y; +// 13 +backupReg0i = R2i.w; +backupReg0i = R2i.w; +R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),-(intBitsToFloat(PV0i.w))) + 1.0)); +R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R127i.x)) + intBitsToFloat(0xba0a8ec8))); +R5i.y = clampFI32(R5i.y); +R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R126i.y)) + intBitsToFloat(0xba0a8ec8))); +R5i.z = clampFI32(R5i.z); +R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),-(intBitsToFloat(R10i.z))) + intBitsToFloat(backupReg0i))); +R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R125i.x)) + intBitsToFloat(0xba0a8ec8))); +R3i.z = clampFI32(R3i.z); +PS1i = R3i.z; +// 14 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R17i.x),intBitsToFloat(R17i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[16].x),intBitsToFloat(uf_remappedPS[16].y),intBitsToFloat(uf_remappedPS[16].z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +PS0i = floatBitsToInt(float(R127i.y)); +// 15 +R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.x), intBitsToFloat(PS0i))); +R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.y), intBitsToFloat(PS0i))); +R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.z), intBitsToFloat(PS0i))); +PV1i.w = floatBitsToInt(max(-(intBitsToFloat(PV0i.x)), 0.0)); +PS1i = floatBitsToInt(intBitsToFloat(R7i.z) * intBitsToFloat(0x3eaaaaab)); +// 16 +R123i.x = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(0x3eaaaaab) + intBitsToFloat(PS1i))); +PV0i.x = R123i.x; +PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); +PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.z), -(intBitsToFloat(R3i.w)))); +// 17 +backupReg0i = R7i.x; +R7i.x = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x3eaaaaab) + intBitsToFloat(PV0i.x))); +PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(0xbecccccd)); +R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.z),-(intBitsToFloat(R126i.z))) + intBitsToFloat(PS0i))); +PS1i = R122i.x; +// 18 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R17i.y),-(intBitsToFloat(R125i.y))) + intBitsToFloat(PS1i))); +PV0i.x = R123i.x; +R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R4i.w))); +R7i.z = clampFI32(R7i.z); +// 19 +R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R17i.x),-(intBitsToFloat(R126i.x))) + intBitsToFloat(PV0i.x))); +PV1i.z = R12i.z; +// 20 +PV0i.y = PV1i.z; +PV0i.y = clampFI32(PV0i.y); +// 21 +R14i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(0xbecccccd)); +} +if( activeMaskStackC[1] == true ) { +// 0 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[20].x),intBitsToFloat(uf_remappedPS[20].y),intBitsToFloat(uf_remappedPS[20].z),intBitsToFloat(uf_remappedPS[20].w)))); +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(R8i.y),intBitsToFloat(R8i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[21].x),intBitsToFloat(uf_remappedPS[21].y),intBitsToFloat(uf_remappedPS[21].z),intBitsToFloat(uf_remappedPS[21].w)))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R126i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); +PS1i = R126i.z; +// 2 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[22].x),intBitsToFloat(uf_remappedPS[22].y),intBitsToFloat(uf_remappedPS[22].z),intBitsToFloat(uf_remappedPS[22].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 +R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R126i.z))); +} +if( activeMaskStackC[1] == true ) { +R9i.y = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R9i.xy),0.0).x); +R10i.w = floatBitsToInt(textureLod(textureUnitPS5, intBitsToFloat(R10i.xy),intBitsToFloat(R10i.w)).x); +R11i.xyz = floatBitsToInt(texture(textureUnitPS12, intBitsToFloat(R11i.xy)).xyz); +} +if( activeMaskStackC[1] == true ) { +// 0 +backupReg0i = R9i.y; +PV0i.x = floatBitsToInt(intBitsToFloat(R10i.w) + intBitsToFloat(uf_remappedPS[23].z)); +PV0i.x = clampFI32(PV0i.x); +R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.x), intBitsToFloat(R6i.z))); +R123i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * 2.0 + -(1.0))); +PV0i.z = R123i.z; +R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.y), intBitsToFloat(R6i.z))); +R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R6i.z))); +PS0i = R11i.y; +// 1 +R123i.x = floatBitsToInt((intBitsToFloat(PV0i.z) * intBitsToFloat(0x41c80000) + intBitsToFloat(R9i.z))); +PV1i.x = R123i.x; +R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[24].z))); +PV1i.y = R3i.y; +// 2 +R4i.y = PV1i.y; +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R12i.y))); +R10i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(uf_remappedPS[25].x)); +// 3 +PV1i.z = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.z)); +PV1i.z = clampFI32(PV1i.z); +PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + -(1.0)); +// 4 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(R8i.x))); +PV0i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(R6i.w))); +PV0i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(PV1i.z)) + intBitsToFloat(R6i.x))); +PV0i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R12i.x)) + 1.0)); +PV0i.w = R123i.w; +// 5 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R7i.z))); +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[26].z))); +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[26].y))); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[26].x))); +// 6 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[17].w), intBitsToFloat(PV1i.y))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[17].w), intBitsToFloat(PV1i.z))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[17].w), intBitsToFloat(PV1i.w))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.y), intBitsToFloat(PV1i.x))); +// 7 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(R9i.w))); +PV1i.x = R123i.x; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R4i.x))); +PV1i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(R6i.y))); +PV1i.w = R123i.w; +// 8 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R5i.z))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R5i.y))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R3i.z))); +// 9 +R0i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); +R0i.y = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); +R2i.z = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); +} +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.w),intBitsToFloat(uf_remappedPS[27].x)) + intBitsToFloat(uf_remappedPS[28].w))); +R123i.y = clampFI32(R123i.y); +PV0i.y = R123i.y; +// 1 +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[29].w))); +// 2 +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R14i.y))); +// 3 +R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.w)),intBitsToFloat(R0i.z)) + intBitsToFloat(R0i.z))); +PV1i.x = R123i.x; +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R0i.z))); +// 4 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[29].y), intBitsToFloat(PV1i.y))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[29].z), intBitsToFloat(PV1i.y))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[29].x), intBitsToFloat(PV1i.y))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PV1i.x))); +R5i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R3i.x)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); +PS0i = R5i.z; +// 5 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].z),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.y))); +PV1i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].x),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.z))); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].y),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.x))); +PV1i.z = R123i.z; +R4i.w = 0; +// 6 +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(R2i.w)) + intBitsToFloat(PV1i.y))); +PV0i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(R2i.w)) + intBitsToFloat(PV1i.z))); +PV0i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),intBitsToFloat(R2i.w)) + intBitsToFloat(PV1i.x))); +PV0i.w = R123i.w; +// 7 +R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].x),intBitsToFloat(R10i.z)) + intBitsToFloat(PV0i.y))); +R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].y),intBitsToFloat(R10i.z)) + intBitsToFloat(PV0i.z))); +R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].z),intBitsToFloat(R10i.z)) + intBitsToFloat(PV0i.w))); +// 8 +predResult = (intBitsToFloat(R14i.x) != intBitsToFloat(0x3dc0c0c1)); +activeMaskStack[1] = predResult; +activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { +activeMaskStack[1] = false; +activeMaskStackC[2] = false; +} +if( activeMaskStackC[2] == true ) { +// 0 +R3i.xyz = floatBitsToInt(vec3(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R4i.z)) + vec3(intBitsToFloat(R0i.x),intBitsToFloat(R0i.y),intBitsToFloat(R2i.z))); +R3i.w = 0x3f800000; +R0i.x = 0; +PS0i = R0i.x; +// 1 +R0i.yzw = ivec3(0,0,0); +} +activeMaskStack[1] = activeMaskStack[1] == false; +activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; +if( activeMaskStackC[2] == true ) { +// 0 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R17i.x),intBitsToFloat(R17i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[30].x),intBitsToFloat(uf_remappedPS[30].y),intBitsToFloat(uf_remappedPS[30].z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R0i.w = 0x40400000; +PS0i = R0i.w; +// 1 +R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R17i.x),intBitsToFloat(R17i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[31].x),intBitsToFloat(uf_remappedPS[31].y),intBitsToFloat(uf_remappedPS[31].z),0.0))); +PV1i.x = R127i.x; +PV1i.y = R127i.x; +PV1i.z = R127i.x; +PV1i.w = R127i.x; +R127i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x))); +PS1i = R127i.z; +// 2 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R17i.x),intBitsToFloat(R17i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[32].x),intBitsToFloat(uf_remappedPS[32].y),intBitsToFloat(uf_remappedPS[32].z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R127i.y = tempi.x; +PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R13i.x))); +// 3 +backupReg0i = R127i.x; +backupReg0i = R127i.x; +backupReg1i = R127i.z; +backupReg1i = R127i.z; +redcCUBE(vec4(intBitsToFloat(R127i.z),intBitsToFloat(R127i.z),intBitsToFloat(backupReg0i),intBitsToFloat(PV0i.x)),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg1i)),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; +R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(PS0i))); +R2i.z = clampFI32(R2i.z); +PS1i = R2i.z; +// 4 +PV0i.x = floatBitsToInt(intBitsToFloat(R14i.z) * intBitsToFloat(0x42960000)); +PV0i.x = clampFI32(PV0i.x); +R0i.z = PV1i.w; +PS0i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV1i.z))); +// 5 +backupReg0i = R1i.y; +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PS0i)) + 1.5)); +PV1i.x = R123i.x; +R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].y),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg0i))); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].x),intBitsToFloat(PV0i.x)) + intBitsToFloat(R1i.x))); +PV1i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + 1.5)); +PV1i.w = R123i.w; +R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].z),intBitsToFloat(PV0i.x)) + intBitsToFloat(R1i.z))); +PS1i = R1i.x; +// 6 +R0i.x = PV1i.w; +R0i.y = PV1i.x; +R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.x), intBitsToFloat(PV1i.z))); +PS0i = R3i.x; +} +if( activeMaskStackC[2] == true ) { +R0i.xyz = floatBitsToInt(textureLod(textureUnitPS7, vec4(redcCUBEReverse(intBitsToFloat(R0i.xy),R0i.z),cubeMapArrayIndex7),intBitsToFloat(R0i.w)).xyz); +} +if( activeMaskStackC[2] == true ) { +// 0 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].y),intBitsToFloat(R2i.z)) + intBitsToFloat(R0i.y))); +PV0i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].x),intBitsToFloat(R2i.z)) + intBitsToFloat(R0i.x))); +PV0i.y = R123i.y; +R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.z), intBitsToFloat(R1i.x))); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].z),intBitsToFloat(R2i.z)) + intBitsToFloat(R0i.z))); +PV0i.w = R123i.w; +R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R16i.y), intBitsToFloat(R1i.y))); +PS0i = R3i.y; +// 1 +R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R2i.x))); +R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R2i.y))); +R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(R4i.z))); +R0i.w = 0; +R3i.w = 0x3f800000; +PS1i = R3i.w; +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +if( activeMaskStackC[1] == true ) { +// 0 +R1i.w = 0x3f800000; +// 1 +backupReg0i = R3i.x; +backupReg1i = R3i.y; +backupReg2i = R3i.z; +backupReg3i = R3i.w; +R3i.xyz = ivec3(backupReg0i,backupReg1i,backupReg2i); +R3i.w = backupReg3i; +// 2 +R2i.xyz = ivec3(R0i.x,R0i.y,R0i.z); +R2i.w = R0i.w; +// 3 +backupReg0i = R1i.w; +R1i.xyz = ivec3(R4i.x,R5i.y,R6i.z); +R1i.w = backupReg0i; +// 4 +R0i.xyz = ivec3(R13i.x,R4i.y,R5i.z); +R0i.w = R4i.w; +// 5 +R4i.xyz = ivec3(R7i.x,R7i.x,R7i.x); +R4i.w = R7i.x; +} +// 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))*.35; +passPixelColor2 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); +passPixelColor3 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); +passPixelColor4 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); +} diff --git a/Workarounds/BreathOfTheWild_Intel_RemoveBloom/250cb5a06cab6534_000000000000007a_ps.txt b/Workarounds/BreathOfTheWild_Intel_RemoveBloom/250cb5a06cab6534_000000000000007a_ps.txt index 05b2aac6..5aa4f10d 100644 --- a/Workarounds/BreathOfTheWild_Intel_RemoveBloom/250cb5a06cab6534_000000000000007a_ps.txt +++ b/Workarounds/BreathOfTheWild_Intel_RemoveBloom/250cb5a06cab6534_000000000000007a_ps.txt @@ -1,450 +1,450 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 250cb5a06cab6534 -// used to set sun bloom, color, saturation, and intensity in the sky -uniform ivec4 uf_remappedPS[12]; -layout(binding = 0) uniform sampler3D textureUnitPS0;// Tex0 addr 0x3cea0000 res 256x32x16 dim 2 tm: 7 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x10) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 1) in vec4 passParameterSem0; -layout(location = 2) in vec4 passParameterSem2; -layout(location = 3) 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() -{ -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 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(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem0); -R2i = floatBitsToInt(passParameterSem2); -R3i = floatBitsToInt(passParameterSem3); -if( activeMaskStackC[1] == true ) { - // 0 - R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R1i.x))); - //original line - //R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(uf_remappedPS[0].z))); - // new line r0i.x is the brightness of the bloom on the sky, ufremap.z is the brightness on the ground - // match for gureudo desert - R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x)*.93, intBitsToFloat(uf_remappedPS[0].z))*.95); - // match for death mountain morning - //R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x)*.45, intBitsToFloat(uf_remappedPS[0].z))*.45); - - // red channel? - PV0i.y = R126i.y; - R123i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[1].x) * intBitsToFloat(0xc0400000) + intBitsToFloat(0xbf19999a))); - PV0i.z = R123i.z; - PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(uf_remappedPS[0].w))); - PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); - R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R1i.x)) + intBitsToFloat(0xcc1a4d90))); - PS0i = R122i.x; - - // 1 - PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3fb8aa3b)); - R2i.y = floatBitsToInt(intBitsToFloat(uf_remappedPS[2].x) + -(1.0)); - R1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + -(1.0)); - PV1i.z = R1i.z; - // original - PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(0x3fc90fdb)); - // magic line that clears death volcano brightness ruins gureudo - //PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(0x3fc90fdb)*0.6); - //multiplication affects saturation of blue stored in PS1i - R124i.w = floatBitsToInt(sqrt(intBitsToFloat(PS0i))); - //R124i.w = floatBitsToInt(sqrt(intBitsToFloat(PS0i))*5); - PS1i = R124i.w; - - - // 2 - R126i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[3].y)) + 1.0); - PV0i.y = ((intBitsToFloat(R3i.x) > intBitsToFloat(PV1i.z))?int(0xFFFFFFFF):int(0x0)); - R123i.z = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e22f983) + 0.5)); - PV0i.z = R123i.z; - R127i.w = uf_remappedPS[3].y; - R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) / 2.0); - // multiplication affects bloom blue which seems to be stored in PS0i - //PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x)*2)); - PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); - - // 3 - R123i.x = ((PV0i.y == 0)?(R1i.z):(R3i.x)); - PV1i.x = R123i.x; - - PV1i.y = floatBitsToInt(fract(intBitsToFloat(PV0i.z))); - PV1i.z = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); - R125i.w = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[4].y)) * 0.5 + 0.5)); - R127i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[5].y)) + 1.0); - PS1i = R127i.z; - - // 4 - R123i.x = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(0x40c90fdb) + intBitsToFloat(0xc0490fdb))); - PV0i.x = R123i.x; - PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3f83987f)); - R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.x))); - PV0i.z = R125i.z; - R126i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[4].y) * 0.5 + 0.5)); - R127i.y = floatBitsToInt(intBitsToFloat(R124i.w) * intBitsToFloat(0x3a95ae88)); - PS0i = R127i.y; - - // 5 - backupReg0i = R127i.x; - R127i.x = ((0.0 > intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); - R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.z)) + -(intBitsToFloat(backupReg0i)))); - PV1i.y = R123i.y; - R126i.z = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); - PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3e22f983)); - PS1i = uf_remappedPS[5].y; - PS1i = floatBitsToInt(intBitsToFloat(PS1i) / 2.0); - - // 6 - R125i.x = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(0x4c1a4d90)); - PV0i.x = R125i.x; - R123i.y = floatBitsToInt((intBitsToFloat(R126i.y) * 2.0 + -(1.0))); - PV0i.y = R123i.y; - R0i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[4].y)) + 0.5); - R0i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R127i.y)) + intBitsToFloat(PS1i))); - PS0i = floatBitsToInt(sin((intBitsToFloat(PV1i.w))/0.1591549367)); - PS0i = floatBitsToInt(intBitsToFloat(PS0i) * 2.0); - - // 7 - R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(R126i.z)) + intBitsToFloat(R127i.w))); - R127i.y = floatBitsToInt(intBitsToFloat(PS0i) + -(1.0)); - PV1i.y = R127i.y; - PV1i.z = ((intBitsToFloat(PV0i.x) > 0.0)?int(0xFFFFFFFF):int(0x0)); - PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(0x3f400000)); - PV1i.w = clampFI32(PV1i.w); - PS1i = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(0x3f400000)); - PS1i = clampFI32(PS1i); - - - // 8 red - PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) + 1.0); - R123i.y = ((R127i.x == 0)?(0):(PV1i.z)); - PV0i.y = R123i.y; - R126i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), intBitsToFloat(PS1i))); - R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.y)) + 1.0)); - R126i.y = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[6].x)); - PS0i = R126i.y; - // 9 - backupReg0i = R126i.w; - R123i.x = ((PV0i.y == 0)?(0x445aeaf4):(0)); - PV1i.x = R123i.x; - R123i.y = ((PV0i.y == 0)?(0x493b34ff):(0)); - PV1i.y = R123i.y; - R127i.z = ((PV0i.y == 0)?(0xbf800000):(0x3f800000)); - PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * 0.5); - R126i.w = ((PV0i.y == 0)?(backupReg0i):(R125i.w)); - PS1i = R126i.w; - // 10 - backupReg0i = R125i.x; - backupReg1i = R126i.z; - R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(PV1i.w))); - PV0i.x = R125i.x; - PV0i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.y)); - R126i.z = floatBitsToInt(intBitsToFloat(R124i.w) + intBitsToFloat(PV1i.x)); - PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(uf_remappedPS[7].x))); - PS0i = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(0x3d747645)); - // 11 - R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w))); - PV1i.x = R127i.x; - PV1i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); - R124i.z = PV0i.w; - R124i.z = floatBitsToInt(intBitsToFloat(R124i.z) * 2.0); - R4i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(uf_remappedPS[8].x))); - PS1i = floatBitsToInt(sqrt(intBitsToFloat(PV0i.y))); - // 12 - backupReg0i = R0i.x; - PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.y)); - PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); - R2i.z = floatBitsToInt(intBitsToFloat(R125i.x) + -(intBitsToFloat(PV1i.y))); - R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i))); - PV0i.w = R123i.w; - PS0i = floatBitsToInt(1.0 / intBitsToFloat(R126i.z)); - - // 13 - backupReg0i = R127i.y; - PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(PS0i)); - R127i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(backupReg0i)),intBitsToFloat(R124i.z)) + intBitsToFloat(PV0i.y))); - PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 0.0); - PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); - PS1i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + 1.0); - - - // 14 set r3i and rli to their final calculated values - backupReg0i = R0i.z; - R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(uf_remappedPS[2].y))); - R0i.y = floatBitsToInt(intBitsToFloat(R127i.x) + 2.0); - PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS1i))); - R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PV1i.x)) + intBitsToFloat(R126i.w))); - PV0i.w = R123i.w; - R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(uf_remappedPS[2].y))); - PS0i = R8i.x; - // 15 - R6i.x = floatBitsToInt(intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedPS[6].x)); - R7i.y = PV0i.w; - R7i.z = R0i.w; - R2i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3df47645)); - R8i.y = PV0i.w; - PS1i = R8i.y; - // 16 - R4i.x = ((intBitsToFloat(R2i.x) > intBitsToFloat(R1i.z))?int(0xFFFFFFFF):int(0x0)); - R8i.z = R0i.w; - tempResultf = log2(intBitsToFloat(R127i.y)); - if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; - R0i.w = floatBitsToInt(tempResultf); - PS0i = R0i.w; -} -if( activeMaskStackC[1] == true ) { - R3i.xyzw = floatBitsToInt(texture(textureUnitPS0, vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))).xyzw); - R1i.xyzw = floatBitsToInt(texture(textureUnitPS0, vec3(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z))).xyzw); -} - - -if( activeMaskStackC[1] == true ) { - activeMaskStack[1] = activeMaskStack[0]; - activeMaskStackC[2] = activeMaskStackC[1]; - // 0 - PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.y)) + intBitsToFloat(R1i.y)); - PV0i.y = floatBitsToInt(-(intBitsToFloat(R3i.x)) + intBitsToFloat(R1i.x)); - PV0i.z = floatBitsToInt(intBitsToFloat(R0i.w) * 1.5); - PV0i.w = floatBitsToInt(-(intBitsToFloat(R3i.z)) + intBitsToFloat(R1i.z)); - PS0i = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R1i.w)); - // 1 - R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R2i.z)) + intBitsToFloat(R3i.y))); - PV1i.x = R123i.x; - R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R2i.z)) + intBitsToFloat(R3i.x))); - PV1i.y = R123i.y; - R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R2i.z)) + intBitsToFloat(R3i.w))); - PV1i.z = R123i.z; - R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R2i.z)) + intBitsToFloat(R3i.z))); - PV1i.w = R123i.w; - PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.z))); - // 2 - R127i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); - PV0i.x = R127i.x; - R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); - PV0i.y = R127i.y; - PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R0i.y))); - R127i.w = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); - PV0i.w = R127i.w; - PS0i = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); - // 3 - R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PS0i))); - R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); - R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PS0i))); - R126i.w = floatBitsToInt(max(intBitsToFloat(PV0i.y), intBitsToFloat(0x38d1b717))); - PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); - // 4 - backupReg0i = R127i.x; - backupReg1i = R127i.y; - R127i.x = floatBitsToInt(intBitsToFloat(R2i.w) * intBitsToFloat(PS1i)); - R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(R127i.w))); - R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(backupReg0i))); - R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(backupReg1i))); - PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[6].y)); - // 5 - R6i.y = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedPS[6].x)); - PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[6].z)); - // 6 - backupReg0i = R127i.x; - R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[9].x))); - R3i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_remappedPS[6].x)); - PS0i = floatBitsToInt(1.0 / intBitsToFloat(R126i.w)); - // 7 - PV1i.x = floatBitsToInt(intBitsToFloat(R126i.y) * intBitsToFloat(PS0i)); - PV1i.y = floatBitsToInt(intBitsToFloat(R124i.z) * intBitsToFloat(PS0i)); - PV1i.w = floatBitsToInt(intBitsToFloat(R125i.x) * intBitsToFloat(PS0i)); - // 8 - PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PV1i.w))); - PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV1i.x))); - PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV1i.y))); - // 9 - R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.z)) + intBitsToFloat(R127i.w))); - PV1i.x = R123i.x; - R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.y))); - PV1i.z = R123i.z; - R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R127i.z))); - PV1i.w = R123i.w; - // 10 - PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); - PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); - PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); - // 11 - R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[10].x))); - R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[10].y))); - R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[10].z))); - // 12 - predResult = (intBitsToFloat(uf_remappedPS[11].x) > 0.0); - activeMaskStack[1] = predResult; - activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { - activeMaskStack[1] = false; - activeMaskStackC[2] = false; -} - - -if( activeMaskStackC[2] == true ) { - // 0 - PV0i.x = R2i.y; - PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); - R4i.y = floatBitsToInt(intBitsToFloat(uf_remappedPS[8].x) * intBitsToFloat(0x3d747645)); - PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[7].x), intBitsToFloat(uf_remappedPS[7].x))); - // 1 - PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + 1.0); - R3i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + 2.0); - PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); - PV1i.w = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); - // 2 - R1i.x = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3df47645)); - PV0i.y = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(PV1i.w)); - R1i.z = floatBitsToInt((intBitsToFloat(R2i.y) * 0.5 + -(intBitsToFloat(PV1i.w)))); - PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + -0.0); - // 3 - PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + 1.0); - PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + 0.0); - tempResultf = log2(intBitsToFloat(PV0i.w)); - if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; - PS1i = floatBitsToInt(tempResultf); - // 4 - R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(uf_remappedPS[2].y))); - R1i.y = floatBitsToInt(intBitsToFloat(PS1i) * 1.5); - R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(uf_remappedPS[2].y))); - PS0i = R8i.x; -} - - -if( activeMaskStackC[2] == true ) { - R2i.xyzw = floatBitsToInt(texture(textureUnitPS0, vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))).xyzw); - R0i.xyzw = floatBitsToInt(texture(textureUnitPS0, vec3(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z))).xyzw); -} - -if( activeMaskStackC[2] == true ) { - // 0 - backupReg0i = R0i.x; - backupReg1i = R0i.z; - PV0i.x = floatBitsToInt(-(intBitsToFloat(R2i.y)) + intBitsToFloat(R0i.y)); - PV0i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + intBitsToFloat(backupReg0i)); - PV0i.z = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(R0i.w)); - PV0i.w = floatBitsToInt(-(intBitsToFloat(R2i.z)) + intBitsToFloat(backupReg1i)); - PS0i = floatBitsToInt(exp2(intBitsToFloat(R1i.y))); - // 1 - R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R1i.z)) + intBitsToFloat(R2i.y))); - PV1i.x = R123i.x; - R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R1i.z)) + intBitsToFloat(R2i.x))); - PV1i.y = R123i.y; - R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R1i.z)) + intBitsToFloat(R2i.w))); - PV1i.z = R123i.z; - R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R1i.z)) + intBitsToFloat(R2i.z))); - PV1i.w = R123i.w; - PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R3i.y))); - // 2 - R127i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); - PV0i.x = R127i.x; - R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); - PV0i.y = R127i.y; - PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); - R127i.w = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); - PV0i.w = R127i.w; - PS0i = floatBitsToInt(1.0 / intBitsToFloat(PS1i)); - // 3 - R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.z))); - R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.z))); - PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.y), intBitsToFloat(0x38d1b717))); - R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.z))); - PS1i = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS0i)); - // 4 - backupReg0i = R127i.x; - backupReg1i = R127i.y; - backupReg2i = R127i.w; - R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(backupReg0i))); - R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(uf_remappedPS[9].x))); - R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(backupReg1i))); - R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(backupReg2i))); - PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.z)); - // 5 - PV1i.x = floatBitsToInt(intBitsToFloat(R126i.y) * intBitsToFloat(PS0i)); - PV1i.z = floatBitsToInt(intBitsToFloat(R126i.w) * intBitsToFloat(PS0i)); - PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) * intBitsToFloat(PS0i)); - // 6 - 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(R3i.z), intBitsToFloat(PV1i.z))); - // 7 - R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(R127i.w))); - PV1i.y = R123i.y; - R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.x))); - PV1i.z = R123i.z; - R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(R127i.z))); - PV1i.w = R123i.w; - // 8 - PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); - PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); - PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); - // 9 - R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(uf_remappedPS[10].y)) + -(intBitsToFloat(R5i.y)))); - PV1i.x = R123i.x; - R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(uf_remappedPS[10].x)) + -(intBitsToFloat(R5i.x)))); - PV1i.y = R123i.y; - R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(uf_remappedPS[10].z)) + -(intBitsToFloat(R5i.z)))); - PV1i.w = R123i.w; - // 10 - backupReg0i = R5i.x; - backupReg1i = R5i.y; - backupReg2i = R5i.z; - R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(uf_remappedPS[11].x)) + intBitsToFloat(backupReg0i))); - R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(uf_remappedPS[11].x)) + intBitsToFloat(backupReg1i))); - R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(uf_remappedPS[11].x)) + intBitsToFloat(backupReg2i))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R5i.w = ((R4i.x == 0)?(0x3f800000):(0)); -} -// export -// original line -//passPixelColor0 = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z) , intBitsToFloat(R5i.w)); -//passPixelColor0 = vec4(intBitsToFloat(R5i.x)*0.05, intBitsToFloat(R5i.y)*0.16, intBitsToFloat(R5i.z)*0.7 , intBitsToFloat(R5i.w))*0.33; -// faron noon bridgepassPixelColor0 = vec4(intBitsToFloat(R5i.x)*0.09, intBitsToFloat(R5i.y)*0.23, intBitsToFloat(R5i.z)*.65 , intBitsToFloat(R5i.w))*0.82; -// faron morning still off passPixelColor0 = vec4(intBitsToFloat(R5i.x)*0.09, //intBitsToFloat(R5i.y)*0.22, intBitsToFloat(R5i.z)*.65 , intBitsToFloat(R5i.w))*0.82; -//passPixelColor0 = vec4(intBitsToFloat(R5i.x)*0.09, intBitsToFloat(R5i.y)*0.22, intBitsToFloat(R5i.z)*.65 , intBitsToFloat(R5i.w))*0.82; -passPixelColor0 = vec4(intBitsToFloat(R5i.x)*0.155, intBitsToFloat(R5i.y)*0.37, intBitsToFloat(R5i.z) , intBitsToFloat(R5i.w))*.86; -} +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +// shader 250cb5a06cab6534 +// used to set sun bloom, color, saturation, and intensity in the sky +uniform ivec4 uf_remappedPS[12]; +layout(binding = 0) uniform sampler3D textureUnitPS0;// Tex0 addr 0x3cea0000 res 256x32x16 dim 2 tm: 7 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x10) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 +layout(location = 1) in vec4 passParameterSem0; +layout(location = 2) in vec4 passParameterSem2; +layout(location = 3) 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() +{ +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 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(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); +R1i = floatBitsToInt(passParameterSem0); +R2i = floatBitsToInt(passParameterSem2); +R3i = floatBitsToInt(passParameterSem3); +if( activeMaskStackC[1] == true ) { + // 0 + R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R1i.x))); + //original line + //R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(uf_remappedPS[0].z))); + // new line r0i.x is the brightness of the bloom on the sky, ufremap.z is the brightness on the ground + // match for gureudo desert + R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x)*.93, intBitsToFloat(uf_remappedPS[0].z))*.95); + // match for death mountain morning + //R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x)*.45, intBitsToFloat(uf_remappedPS[0].z))*.45); + + // red channel? + PV0i.y = R126i.y; + R123i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[1].x) * intBitsToFloat(0xc0400000) + intBitsToFloat(0xbf19999a))); + PV0i.z = R123i.z; + PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(uf_remappedPS[0].w))); + PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); + R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R1i.x)) + intBitsToFloat(0xcc1a4d90))); + PS0i = R122i.x; + + // 1 + PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3fb8aa3b)); + R2i.y = floatBitsToInt(intBitsToFloat(uf_remappedPS[2].x) + -(1.0)); + R1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + -(1.0)); + PV1i.z = R1i.z; + // original + PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(0x3fc90fdb)); + // magic line that clears death volcano brightness ruins gureudo + //PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(0x3fc90fdb)*0.6); + //multiplication affects saturation of blue stored in PS1i + R124i.w = floatBitsToInt(sqrt(intBitsToFloat(PS0i))); + //R124i.w = floatBitsToInt(sqrt(intBitsToFloat(PS0i))*5); + PS1i = R124i.w; + + + // 2 + R126i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[3].y)) + 1.0); + PV0i.y = ((intBitsToFloat(R3i.x) > intBitsToFloat(PV1i.z))?int(0xFFFFFFFF):int(0x0)); + R123i.z = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e22f983) + 0.5)); + PV0i.z = R123i.z; + R127i.w = uf_remappedPS[3].y; + R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) / 2.0); + // multiplication affects bloom blue which seems to be stored in PS0i + //PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x)*2)); + PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); + + // 3 + R123i.x = ((PV0i.y == 0)?(R1i.z):(R3i.x)); + PV1i.x = R123i.x; + + PV1i.y = floatBitsToInt(fract(intBitsToFloat(PV0i.z))); + PV1i.z = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); + R125i.w = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[4].y)) * 0.5 + 0.5)); + R127i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[5].y)) + 1.0); + PS1i = R127i.z; + + // 4 + R123i.x = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(0x40c90fdb) + intBitsToFloat(0xc0490fdb))); + PV0i.x = R123i.x; + PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3f83987f)); + R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.x))); + PV0i.z = R125i.z; + R126i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[4].y) * 0.5 + 0.5)); + R127i.y = floatBitsToInt(intBitsToFloat(R124i.w) * intBitsToFloat(0x3a95ae88)); + PS0i = R127i.y; + + // 5 + backupReg0i = R127i.x; + R127i.x = ((0.0 > intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); + R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.z)) + -(intBitsToFloat(backupReg0i)))); + PV1i.y = R123i.y; + R126i.z = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); + PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3e22f983)); + PS1i = uf_remappedPS[5].y; + PS1i = floatBitsToInt(intBitsToFloat(PS1i) / 2.0); + + // 6 + R125i.x = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(0x4c1a4d90)); + PV0i.x = R125i.x; + R123i.y = floatBitsToInt((intBitsToFloat(R126i.y) * 2.0 + -(1.0))); + PV0i.y = R123i.y; + R0i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[4].y)) + 0.5); + R0i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R127i.y)) + intBitsToFloat(PS1i))); + PS0i = floatBitsToInt(sin((intBitsToFloat(PV1i.w))/0.1591549367)); + PS0i = floatBitsToInt(intBitsToFloat(PS0i) * 2.0); + + // 7 + R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(R126i.z)) + intBitsToFloat(R127i.w))); + R127i.y = floatBitsToInt(intBitsToFloat(PS0i) + -(1.0)); + PV1i.y = R127i.y; + PV1i.z = ((intBitsToFloat(PV0i.x) > 0.0)?int(0xFFFFFFFF):int(0x0)); + PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(0x3f400000)); + PV1i.w = clampFI32(PV1i.w); + PS1i = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(0x3f400000)); + PS1i = clampFI32(PS1i); + + + // 8 red + PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) + 1.0); + R123i.y = ((R127i.x == 0)?(0):(PV1i.z)); + PV0i.y = R123i.y; + R126i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), intBitsToFloat(PS1i))); + R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.y)) + 1.0)); + R126i.y = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[6].x)); + PS0i = R126i.y; + // 9 + backupReg0i = R126i.w; + R123i.x = ((PV0i.y == 0)?(0x445aeaf4):(0)); + PV1i.x = R123i.x; + R123i.y = ((PV0i.y == 0)?(0x493b34ff):(0)); + PV1i.y = R123i.y; + R127i.z = ((PV0i.y == 0)?(0xbf800000):(0x3f800000)); + PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * 0.5); + R126i.w = ((PV0i.y == 0)?(backupReg0i):(R125i.w)); + PS1i = R126i.w; + // 10 + backupReg0i = R125i.x; + backupReg1i = R126i.z; + R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(PV1i.w))); + PV0i.x = R125i.x; + PV0i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.y)); + R126i.z = floatBitsToInt(intBitsToFloat(R124i.w) + intBitsToFloat(PV1i.x)); + PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(uf_remappedPS[7].x))); + PS0i = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(0x3d747645)); + // 11 + R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w))); + PV1i.x = R127i.x; + PV1i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); + R124i.z = PV0i.w; + R124i.z = floatBitsToInt(intBitsToFloat(R124i.z) * 2.0); + R4i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(uf_remappedPS[8].x))); + PS1i = floatBitsToInt(sqrt(intBitsToFloat(PV0i.y))); + // 12 + backupReg0i = R0i.x; + PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.y)); + PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); + R2i.z = floatBitsToInt(intBitsToFloat(R125i.x) + -(intBitsToFloat(PV1i.y))); + R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i))); + PV0i.w = R123i.w; + PS0i = floatBitsToInt(1.0 / intBitsToFloat(R126i.z)); + + // 13 + backupReg0i = R127i.y; + PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(PS0i)); + R127i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(backupReg0i)),intBitsToFloat(R124i.z)) + intBitsToFloat(PV0i.y))); + PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 0.0); + PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); + PS1i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + 1.0); + + + // 14 set r3i and rli to their final calculated values + backupReg0i = R0i.z; + R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(uf_remappedPS[2].y))); + R0i.y = floatBitsToInt(intBitsToFloat(R127i.x) + 2.0); + PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS1i))); + R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PV1i.x)) + intBitsToFloat(R126i.w))); + PV0i.w = R123i.w; + R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(uf_remappedPS[2].y))); + PS0i = R8i.x; + // 15 + R6i.x = floatBitsToInt(intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedPS[6].x)); + R7i.y = PV0i.w; + R7i.z = R0i.w; + R2i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3df47645)); + R8i.y = PV0i.w; + PS1i = R8i.y; + // 16 + R4i.x = ((intBitsToFloat(R2i.x) > intBitsToFloat(R1i.z))?int(0xFFFFFFFF):int(0x0)); + R8i.z = R0i.w; + tempResultf = log2(intBitsToFloat(R127i.y)); + if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; + R0i.w = floatBitsToInt(tempResultf); + PS0i = R0i.w; +} +if( activeMaskStackC[1] == true ) { + R3i.xyzw = floatBitsToInt(texture(textureUnitPS0, vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))).xyzw); + R1i.xyzw = floatBitsToInt(texture(textureUnitPS0, vec3(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z))).xyzw); +} + + +if( activeMaskStackC[1] == true ) { + activeMaskStack[1] = activeMaskStack[0]; + activeMaskStackC[2] = activeMaskStackC[1]; + // 0 + PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.y)) + intBitsToFloat(R1i.y)); + PV0i.y = floatBitsToInt(-(intBitsToFloat(R3i.x)) + intBitsToFloat(R1i.x)); + PV0i.z = floatBitsToInt(intBitsToFloat(R0i.w) * 1.5); + PV0i.w = floatBitsToInt(-(intBitsToFloat(R3i.z)) + intBitsToFloat(R1i.z)); + PS0i = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R1i.w)); + // 1 + R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R2i.z)) + intBitsToFloat(R3i.y))); + PV1i.x = R123i.x; + R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R2i.z)) + intBitsToFloat(R3i.x))); + PV1i.y = R123i.y; + R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R2i.z)) + intBitsToFloat(R3i.w))); + PV1i.z = R123i.z; + R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R2i.z)) + intBitsToFloat(R3i.z))); + PV1i.w = R123i.w; + PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.z))); + // 2 + R127i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); + PV0i.x = R127i.x; + R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); + PV0i.y = R127i.y; + PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R0i.y))); + R127i.w = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); + PV0i.w = R127i.w; + PS0i = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); + // 3 + R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PS0i))); + R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); + R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PS0i))); + R126i.w = floatBitsToInt(max(intBitsToFloat(PV0i.y), intBitsToFloat(0x38d1b717))); + PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); + // 4 + backupReg0i = R127i.x; + backupReg1i = R127i.y; + R127i.x = floatBitsToInt(intBitsToFloat(R2i.w) * intBitsToFloat(PS1i)); + R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(R127i.w))); + R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(backupReg0i))); + R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(backupReg1i))); + PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[6].y)); + // 5 + R6i.y = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedPS[6].x)); + PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[6].z)); + // 6 + backupReg0i = R127i.x; + R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[9].x))); + R3i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_remappedPS[6].x)); + PS0i = floatBitsToInt(1.0 / intBitsToFloat(R126i.w)); + // 7 + PV1i.x = floatBitsToInt(intBitsToFloat(R126i.y) * intBitsToFloat(PS0i)); + PV1i.y = floatBitsToInt(intBitsToFloat(R124i.z) * intBitsToFloat(PS0i)); + PV1i.w = floatBitsToInt(intBitsToFloat(R125i.x) * intBitsToFloat(PS0i)); + // 8 + PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PV1i.w))); + PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV1i.x))); + PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV1i.y))); + // 9 + R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.z)) + intBitsToFloat(R127i.w))); + PV1i.x = R123i.x; + R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.y))); + PV1i.z = R123i.z; + R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R127i.z))); + PV1i.w = R123i.w; + // 10 + PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); + PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); + PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); + // 11 + R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[10].x))); + R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[10].y))); + R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[10].z))); + // 12 + predResult = (intBitsToFloat(uf_remappedPS[11].x) > 0.0); + activeMaskStack[1] = predResult; + activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { + activeMaskStack[1] = false; + activeMaskStackC[2] = false; +} + + +if( activeMaskStackC[2] == true ) { + // 0 + PV0i.x = R2i.y; + PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); + R4i.y = floatBitsToInt(intBitsToFloat(uf_remappedPS[8].x) * intBitsToFloat(0x3d747645)); + PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[7].x), intBitsToFloat(uf_remappedPS[7].x))); + // 1 + PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + 1.0); + R3i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + 2.0); + PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); + PV1i.w = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); + // 2 + R1i.x = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3df47645)); + PV0i.y = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(PV1i.w)); + R1i.z = floatBitsToInt((intBitsToFloat(R2i.y) * 0.5 + -(intBitsToFloat(PV1i.w)))); + PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + -0.0); + // 3 + PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + 1.0); + PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + 0.0); + tempResultf = log2(intBitsToFloat(PV0i.w)); + if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; + PS1i = floatBitsToInt(tempResultf); + // 4 + R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(uf_remappedPS[2].y))); + R1i.y = floatBitsToInt(intBitsToFloat(PS1i) * 1.5); + R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(uf_remappedPS[2].y))); + PS0i = R8i.x; +} + + +if( activeMaskStackC[2] == true ) { + R2i.xyzw = floatBitsToInt(texture(textureUnitPS0, vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))).xyzw); + R0i.xyzw = floatBitsToInt(texture(textureUnitPS0, vec3(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z))).xyzw); +} + +if( activeMaskStackC[2] == true ) { + // 0 + backupReg0i = R0i.x; + backupReg1i = R0i.z; + PV0i.x = floatBitsToInt(-(intBitsToFloat(R2i.y)) + intBitsToFloat(R0i.y)); + PV0i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + intBitsToFloat(backupReg0i)); + PV0i.z = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(R0i.w)); + PV0i.w = floatBitsToInt(-(intBitsToFloat(R2i.z)) + intBitsToFloat(backupReg1i)); + PS0i = floatBitsToInt(exp2(intBitsToFloat(R1i.y))); + // 1 + R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R1i.z)) + intBitsToFloat(R2i.y))); + PV1i.x = R123i.x; + R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R1i.z)) + intBitsToFloat(R2i.x))); + PV1i.y = R123i.y; + R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R1i.z)) + intBitsToFloat(R2i.w))); + PV1i.z = R123i.z; + R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R1i.z)) + intBitsToFloat(R2i.z))); + PV1i.w = R123i.w; + PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R3i.y))); + // 2 + R127i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); + PV0i.x = R127i.x; + R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); + PV0i.y = R127i.y; + PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); + R127i.w = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); + PV0i.w = R127i.w; + PS0i = floatBitsToInt(1.0 / intBitsToFloat(PS1i)); + // 3 + R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.z))); + R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.z))); + PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.y), intBitsToFloat(0x38d1b717))); + R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.z))); + PS1i = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS0i)); + // 4 + backupReg0i = R127i.x; + backupReg1i = R127i.y; + backupReg2i = R127i.w; + R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(backupReg0i))); + R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(uf_remappedPS[9].x))); + R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(backupReg1i))); + R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(backupReg2i))); + PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.z)); + // 5 + PV1i.x = floatBitsToInt(intBitsToFloat(R126i.y) * intBitsToFloat(PS0i)); + PV1i.z = floatBitsToInt(intBitsToFloat(R126i.w) * intBitsToFloat(PS0i)); + PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) * intBitsToFloat(PS0i)); + // 6 + 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(R3i.z), intBitsToFloat(PV1i.z))); + // 7 + R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(R127i.w))); + PV1i.y = R123i.y; + R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.x))); + PV1i.z = R123i.z; + R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(R127i.z))); + PV1i.w = R123i.w; + // 8 + PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); + PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); + PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); + // 9 + R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(uf_remappedPS[10].y)) + -(intBitsToFloat(R5i.y)))); + PV1i.x = R123i.x; + R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(uf_remappedPS[10].x)) + -(intBitsToFloat(R5i.x)))); + PV1i.y = R123i.y; + R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(uf_remappedPS[10].z)) + -(intBitsToFloat(R5i.z)))); + PV1i.w = R123i.w; + // 10 + backupReg0i = R5i.x; + backupReg1i = R5i.y; + backupReg2i = R5i.z; + R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(uf_remappedPS[11].x)) + intBitsToFloat(backupReg0i))); + R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(uf_remappedPS[11].x)) + intBitsToFloat(backupReg1i))); + R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(uf_remappedPS[11].x)) + intBitsToFloat(backupReg2i))); +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +if( activeMaskStackC[1] == true ) { +// 0 +R5i.w = ((R4i.x == 0)?(0x3f800000):(0)); +} +// export +// original line +//passPixelColor0 = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z) , intBitsToFloat(R5i.w)); +//passPixelColor0 = vec4(intBitsToFloat(R5i.x)*0.05, intBitsToFloat(R5i.y)*0.16, intBitsToFloat(R5i.z)*0.7 , intBitsToFloat(R5i.w))*0.33; +// faron noon bridgepassPixelColor0 = vec4(intBitsToFloat(R5i.x)*0.09, intBitsToFloat(R5i.y)*0.23, intBitsToFloat(R5i.z)*.65 , intBitsToFloat(R5i.w))*0.82; +// faron morning still off passPixelColor0 = vec4(intBitsToFloat(R5i.x)*0.09, //intBitsToFloat(R5i.y)*0.22, intBitsToFloat(R5i.z)*.65 , intBitsToFloat(R5i.w))*0.82; +//passPixelColor0 = vec4(intBitsToFloat(R5i.x)*0.09, intBitsToFloat(R5i.y)*0.22, intBitsToFloat(R5i.z)*.65 , intBitsToFloat(R5i.w))*0.82; +passPixelColor0 = vec4(intBitsToFloat(R5i.x)*0.155, intBitsToFloat(R5i.y)*0.37, intBitsToFloat(R5i.z) , intBitsToFloat(R5i.w))*.86; +} diff --git a/Workarounds/BreathOfTheWild_Intel_RemoveBloom/29c30aaa023dc7e6_0000000000000709_ps.txt b/Workarounds/BreathOfTheWild_Intel_RemoveBloom/29c30aaa023dc7e6_0000000000000709_ps.txt index 8d5a0ad1..3fb9320c 100644 --- a/Workarounds/BreathOfTheWild_Intel_RemoveBloom/29c30aaa023dc7e6_0000000000000709_ps.txt +++ b/Workarounds/BreathOfTheWild_Intel_RemoveBloom/29c30aaa023dc7e6_0000000000000709_ps.txt @@ -1,152 +1,152 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 29c30aaa023dc7e6 -// fog ganon swirl full -uniform ivec4 uf_remappedPS[2]; -uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fc1000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 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 0x2103b000 res 256x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x1b4c0000 res 256x256x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 0 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 1) in vec4 passParameterSem1; -layout(location = 2) in vec4 passParameterSem4; -layout(location = 3) in vec4 passParameterSem5; -layout(location = 4) in vec4 passParameterSem7; -layout(location = 5) in vec4 passParameterSem8; -layout(location = 6) in vec4 passParameterSem9; -layout(location = 7) in vec4 passParameterSem14; -layout(location = 8) in vec4 passParameterSem15; -layout(location = 9) in vec4 passParameterSem16; -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 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 = passParameterSem4; -R3f = passParameterSem5; -R4f = passParameterSem7; -R5f = passParameterSem8; -R6f = passParameterSem9; -R7f = passParameterSem14; -R8f = passParameterSem15; -R9f = passParameterSem16; -R3f.xw = (texture(textureUnitPS0, R5f.xy).xw); -// 0 -R123f.z = (R3f.w * 2.0 + -(1.0)); -PV0f.z = R123f.z; -R123f.w = (R3f.x * 2.0 + -(1.0)); -PV0f.w = R123f.w; -// 1 -PV1f.y = mul_nonIEEE(R2f.y, PV0f.w); -PV1f.w = mul_nonIEEE(R3f.y, PV0f.z); -// 2 -backupReg0f = R3f.z; -backupReg0f = R3f.z; -R3f.x = R5f.z + PV1f.y; -R3f.y = R5f.w + PV1f.w; -R3f.z = (mul_nonIEEE(backupReg0f,PV1f.y) + R6f.x); -R3f.w = (mul_nonIEEE(backupReg0f,PV1f.w) + R6f.y); -R3f.x = (texture(textureUnitPS1, R3f.xy).w); -R5f.xw = (texture(textureUnitPS2, R3f.zw).xw); -// 0 -R127f.x = mul_nonIEEE(R5f.x, R5f.x); -R123f.z = (mul_nonIEEE(R4f.w,R3f.x) + -(R0f.w)); -PV0f.z = R123f.z; -R127f.w = mul_nonIEEE(R5f.w, R5f.w); -// 1 -PV1f.y = mul_nonIEEE(R1f.w, PV0f.z); -PV1f.y = clamp(PV1f.y, 0.0, 1.0); -// 2 -backupReg0f = R127f.x; -R127f.x = mul_nonIEEE(backupReg0f, PV1f.y); -PV0f.y = PV1f.y; -PV0f.y = clamp(PV0f.y, 0.0, 1.0); -PV0f.w = mul_nonIEEE(R127f.w, PV1f.y); -// 3 -R123f.x = (mul_nonIEEE(R0f.z,PV0f.w) + intBitsToFloat(0x3d23d70a)); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(R0f.y,PV0f.w) + intBitsToFloat(0x3c75c28f)); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(R0f.x,PV0f.w) + intBitsToFloat(0x3c75c28f)); -PV1f.z = R123f.z; -PV1f.w = mul_nonIEEE(R2f.x, PV0f.y); -// 4 -R127f.y = (mul_nonIEEE(R1f.z,R127f.x*.35) + PV1f.x); -PV0f.y = R127f.y; -R127f.z = (mul_nonIEEE(R1f.y,R127f.x*.35) + PV1f.y); -PV0f.z = R127f.z; -R127f.w = (mul_nonIEEE(R1f.x,R127f.x*.35) + PV1f.z); -PV0f.w = R127f.w; -R1f.w = mul_nonIEEE(R7f.w, PV1f.w); -PS0f = R1f.w; -// 5 -PV1f.x = -(PV0f.y) + intBitsToFloat(uf_remappedPS[0].z); -PV1f.y = -(PV0f.z) + intBitsToFloat(uf_remappedPS[0].y); -PV1f.z = -(PV0f.w) + intBitsToFloat(uf_remappedPS[0].x); -// 6 -backupReg0f = R127f.y; -backupReg1f = R127f.z; -backupReg2f = R127f.w; -R127f.y = (mul_nonIEEE(PV1f.x,R9f.y*.35) + backupReg0f); -PV0f.y = R127f.y; -R127f.z = (mul_nonIEEE(PV1f.y,R9f.y*.35) + backupReg1f); -PV0f.z = R127f.z; -R127f.w = (mul_nonIEEE(PV1f.z,R9f.y*.35) + backupReg2f); -PV0f.w = R127f.w; -// 7 -PV1f.x = R8f.x + -(PV0f.w); -PV1f.z = R8f.z + -(PV0f.y); -PV1f.w = R8f.y + -(PV0f.z); -// 8 -backupReg0f = R127f.y; -R127f.x = (mul_nonIEEE(PV1f.w,R8f.w*.35) + R127f.z); -PV0f.x = R127f.x; -R127f.y = (mul_nonIEEE(PV1f.x,R8f.w*.35) + R127f.w); -PV0f.y = R127f.y; -R127f.w = (mul_nonIEEE(PV1f.z,R8f.w*.35) + backupReg0f); -PV0f.w = R127f.w; -// 9 -PV1f.x = -(PV0f.w) + intBitsToFloat(uf_remappedPS[1].z); -PV1f.y = -(PV0f.x) + intBitsToFloat(uf_remappedPS[1].y); -PV1f.z = -(PV0f.y) + intBitsToFloat(uf_remappedPS[1].x); -// 10 -R1f.x = (mul_nonIEEE(PV1f.z,R9f.x) + R127f.y); -R1f.y = (mul_nonIEEE(PV1f.y,R9f.x) + R127f.x); -R1f.z = (mul_nonIEEE(PV1f.x,R9f.x) + R127f.w); -// 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); -} +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +// shader 29c30aaa023dc7e6 +// fog ganon swirl full +uniform ivec4 uf_remappedPS[2]; +uniform float uf_alphaTestRef; +layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20fc1000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 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 0x2103b000 res 256x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0 +layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x1b4c0000 res 256x256x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 0 +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem1; +layout(location = 2) in vec4 passParameterSem4; +layout(location = 3) in vec4 passParameterSem5; +layout(location = 4) in vec4 passParameterSem7; +layout(location = 5) in vec4 passParameterSem8; +layout(location = 6) in vec4 passParameterSem9; +layout(location = 7) in vec4 passParameterSem14; +layout(location = 8) in vec4 passParameterSem15; +layout(location = 9) in vec4 passParameterSem16; +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 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 = passParameterSem4; +R3f = passParameterSem5; +R4f = passParameterSem7; +R5f = passParameterSem8; +R6f = passParameterSem9; +R7f = passParameterSem14; +R8f = passParameterSem15; +R9f = passParameterSem16; +R3f.xw = (texture(textureUnitPS0, R5f.xy).xw); +// 0 +R123f.z = (R3f.w * 2.0 + -(1.0)); +PV0f.z = R123f.z; +R123f.w = (R3f.x * 2.0 + -(1.0)); +PV0f.w = R123f.w; +// 1 +PV1f.y = mul_nonIEEE(R2f.y, PV0f.w); +PV1f.w = mul_nonIEEE(R3f.y, PV0f.z); +// 2 +backupReg0f = R3f.z; +backupReg0f = R3f.z; +R3f.x = R5f.z + PV1f.y; +R3f.y = R5f.w + PV1f.w; +R3f.z = (mul_nonIEEE(backupReg0f,PV1f.y) + R6f.x); +R3f.w = (mul_nonIEEE(backupReg0f,PV1f.w) + R6f.y); +R3f.x = (texture(textureUnitPS1, R3f.xy).w); +R5f.xw = (texture(textureUnitPS2, R3f.zw).xw); +// 0 +R127f.x = mul_nonIEEE(R5f.x, R5f.x); +R123f.z = (mul_nonIEEE(R4f.w,R3f.x) + -(R0f.w)); +PV0f.z = R123f.z; +R127f.w = mul_nonIEEE(R5f.w, R5f.w); +// 1 +PV1f.y = mul_nonIEEE(R1f.w, PV0f.z); +PV1f.y = clamp(PV1f.y, 0.0, 1.0); +// 2 +backupReg0f = R127f.x; +R127f.x = mul_nonIEEE(backupReg0f, PV1f.y); +PV0f.y = PV1f.y; +PV0f.y = clamp(PV0f.y, 0.0, 1.0); +PV0f.w = mul_nonIEEE(R127f.w, PV1f.y); +// 3 +R123f.x = (mul_nonIEEE(R0f.z,PV0f.w) + intBitsToFloat(0x3d23d70a)); +PV1f.x = R123f.x; +R123f.y = (mul_nonIEEE(R0f.y,PV0f.w) + intBitsToFloat(0x3c75c28f)); +PV1f.y = R123f.y; +R123f.z = (mul_nonIEEE(R0f.x,PV0f.w) + intBitsToFloat(0x3c75c28f)); +PV1f.z = R123f.z; +PV1f.w = mul_nonIEEE(R2f.x, PV0f.y); +// 4 +R127f.y = (mul_nonIEEE(R1f.z,R127f.x*.35) + PV1f.x); +PV0f.y = R127f.y; +R127f.z = (mul_nonIEEE(R1f.y,R127f.x*.35) + PV1f.y); +PV0f.z = R127f.z; +R127f.w = (mul_nonIEEE(R1f.x,R127f.x*.35) + PV1f.z); +PV0f.w = R127f.w; +R1f.w = mul_nonIEEE(R7f.w, PV1f.w); +PS0f = R1f.w; +// 5 +PV1f.x = -(PV0f.y) + intBitsToFloat(uf_remappedPS[0].z); +PV1f.y = -(PV0f.z) + intBitsToFloat(uf_remappedPS[0].y); +PV1f.z = -(PV0f.w) + intBitsToFloat(uf_remappedPS[0].x); +// 6 +backupReg0f = R127f.y; +backupReg1f = R127f.z; +backupReg2f = R127f.w; +R127f.y = (mul_nonIEEE(PV1f.x,R9f.y*.35) + backupReg0f); +PV0f.y = R127f.y; +R127f.z = (mul_nonIEEE(PV1f.y,R9f.y*.35) + backupReg1f); +PV0f.z = R127f.z; +R127f.w = (mul_nonIEEE(PV1f.z,R9f.y*.35) + backupReg2f); +PV0f.w = R127f.w; +// 7 +PV1f.x = R8f.x + -(PV0f.w); +PV1f.z = R8f.z + -(PV0f.y); +PV1f.w = R8f.y + -(PV0f.z); +// 8 +backupReg0f = R127f.y; +R127f.x = (mul_nonIEEE(PV1f.w,R8f.w*.35) + R127f.z); +PV0f.x = R127f.x; +R127f.y = (mul_nonIEEE(PV1f.x,R8f.w*.35) + R127f.w); +PV0f.y = R127f.y; +R127f.w = (mul_nonIEEE(PV1f.z,R8f.w*.35) + backupReg0f); +PV0f.w = R127f.w; +// 9 +PV1f.x = -(PV0f.w) + intBitsToFloat(uf_remappedPS[1].z); +PV1f.y = -(PV0f.x) + intBitsToFloat(uf_remappedPS[1].y); +PV1f.z = -(PV0f.y) + intBitsToFloat(uf_remappedPS[1].x); +// 10 +R1f.x = (mul_nonIEEE(PV1f.z,R9f.x) + R127f.y); +R1f.y = (mul_nonIEEE(PV1f.y,R9f.x) + R127f.x); +R1f.z = (mul_nonIEEE(PV1f.x,R9f.x) + R127f.w); +// 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/Workarounds/BreathOfTheWild_Intel_RemoveBloom/3179b85d41bfb80d_0000000079249749_ps.txt b/Workarounds/BreathOfTheWild_Intel_RemoveBloom/3179b85d41bfb80d_0000000079249749_ps.txt index 71e0d605..914d9700 100644 --- a/Workarounds/BreathOfTheWild_Intel_RemoveBloom/3179b85d41bfb80d_0000000079249749_ps.txt +++ b/Workarounds/BreathOfTheWild_Intel_RemoveBloom/3179b85d41bfb80d_0000000079249749_ps.txt @@ -1,574 +1,574 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 3179b85d41bfb80d -// fog trees -uniform ivec4 uf_remappedPS[10]; -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a 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 0xf494a800 res 1280x720x1 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: 1 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 7) uniform sampler2D textureUnitPS7;// Tex7 addr 0xf5846000 res 640x360x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler7 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 8) uniform samplerCubeArray textureUnitPS8;// Tex8 addr 0x3d0ea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x6) Sampler8 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 10) uniform sampler2DArray textureUnitPS10;// Tex10 addr 0xf5593000 res 640x360x2 dim 5 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x2) Sampler10 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0xf575f800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0xf5977800 res 640x360x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 1) in vec4 passParameterSem4; -layout(location = 2) in vec4 passParameterSem6; -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 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; -vec3 cubeMapSTM; -int cubeMapFaceId; -float cubeMapArrayIndex8 = 0.0; -R0i = floatBitsToInt(passParameterSem0); -R1i = floatBitsToInt(passParameterSem4); -R2i = floatBitsToInt(passParameterSem6); -R3i.w = floatBitsToInt(texture(textureUnitPS4, intBitsToFloat(R0i.xy)).x); -R6i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R2i.zw)).xyzw); -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS6, intBitsToFloat(R0i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS7, intBitsToFloat(R0i.xy)).xyzw); -R8i.xyzw = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R2i.zw)).xyzw); -// 0 -R124i.x = floatBitsToInt((intBitsToFloat(R6i.x) * 2.0 + -(1.0))); -R124i.y = floatBitsToInt((intBitsToFloat(R6i.y) * 2.0 + -(1.0))); -R124i.z = floatBitsToInt((intBitsToFloat(R6i.z) * 2.0 + -(1.0))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(uf_remappedPS[0].x)) + intBitsToFloat(uf_remappedPS[1].x))); -PV0i.w = R123i.w; -R126i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R4i.x)); -PS0i = R126i.x; -// 1 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), -(intBitsToFloat(PV0i.w)))); -PV1i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), -(intBitsToFloat(PV0i.w)))); -PV1i.y = R127i.y; -R127i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[2].y))); -R126i.w = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R4i.y)); -PS1i = R126i.w; -// 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 = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) * 2.0); -PS0i = R126i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(0x3eaaaaab),intBitsToFloat(0x3eaaaaab),intBitsToFloat(0x3eaaaaab),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(sqrt(intBitsToFloat(PV0i.x))); -// 4 -R125i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(R5i.x)); -R125i.y = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R4i.z)); -R126i.z = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R4i.w)); -R125i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(R5i.y)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PS1i)); -// 5 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS0i))); -R127i.y = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(R5i.z)); -R127i.z = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(R5i.w)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS0i))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS0i))); -PS1i = R5i.z; -// 6 -backupReg0i = R126i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.x),intBitsToFloat(R124i.y),intBitsToFloat(R124i.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; -R126i.y = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].x), intBitsToFloat(backupReg0i))); -PS0i = R125i.z; -// 7 -backupReg0i = R125i.y; -backupReg0i = R125i.y; -backupReg1i = R126i.z; -backupReg1i = R126i.z; -backupReg2i = R126i.w; -backupReg2i = R126i.w; -PV1i.x = floatBitsToInt(max(intBitsToFloat(R126i.x), -(intBitsToFloat(R126i.x)))); -R125i.y = floatBitsToInt(max(intBitsToFloat(backupReg0i), -(intBitsToFloat(backupReg0i)))); -R126i.z = floatBitsToInt(max(intBitsToFloat(backupReg1i), -(intBitsToFloat(backupReg1i)))); -R126i.w = floatBitsToInt(max(intBitsToFloat(backupReg2i), -(intBitsToFloat(backupReg2i)))); -PS1i = floatBitsToInt(max(intBitsToFloat(R125i.x), -(intBitsToFloat(R125i.x)))); -PS1i = floatBitsToInt(intBitsToFloat(PS1i) * 4.0); -// 8 -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(max(intBitsToFloat(R127i.y), -(intBitsToFloat(R127i.y)))); -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 4.0); -PV0i.z = floatBitsToInt(max(intBitsToFloat(R127i.z), -(intBitsToFloat(R127i.z)))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 4.0); -PV0i.w = floatBitsToInt(max(intBitsToFloat(R125i.w), -(intBitsToFloat(R125i.w)))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 4.0); -tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.y)); -R127i.z = floatBitsToInt(tempResultf); -PS0i = R127i.z; -// 9 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(PS0i))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),intBitsToFloat(R125i.y)) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),intBitsToFloat(R126i.z)) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),intBitsToFloat(R126i.w)) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(PS0i))); -PS1i = R5i.y; -// 10 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.z)); -PV0i.x = R126i.x; -R125i.y = floatBitsToInt(fract(intBitsToFloat(R1i.x))); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(R127i.z))); -PV0i.z = R2i.z; -R126i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(PV1i.y))); -PV0i.w = R126i.w; -R125i.w = floatBitsToInt(fract(intBitsToFloat(R1i.y))); -PS0i = R125i.w; -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R5i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.w),intBitsToFloat(R5i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.w = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 12 -PV0i.x = R2i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 2.0); -PV0i.y = floatBitsToInt(intBitsToFloat(PS1i) + intBitsToFloat(R125i.y)); -PV0i.y = clampFI32(PV0i.y); -PV0i.z = floatBitsToInt(intBitsToFloat(R126i.x) + -(intBitsToFloat(R126i.w))); -PV0i.w = R5i.y; -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); -PS0i = R2i.z; -PS0i = floatBitsToInt(intBitsToFloat(PS0i) * 2.0); -// 13 -backupReg0i = R125i.y; -R126i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R124i.w)),intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.x))); -R125i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R124i.w)),intBitsToFloat(PV0i.w)) + intBitsToFloat(R127i.w))); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R125i.w)); -PV1i.z = clampFI32(PV1i.z); -PV1i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.y)); -R127i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R124i.w)),intBitsToFloat(PS0i)) + intBitsToFloat(R5i.z))); -PS1i = R127i.z; -// 14 -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(R0i.x))); -PV0i.y = floatBitsToInt(-(intBitsToFloat(R125i.w)) + intBitsToFloat(PV1i.z)); -R4i.z = floatBitsToInt(roundEven(0.0)); -R3i.w = floatBitsToInt((-(intBitsToFloat(R6i.w)) * intBitsToFloat(0x40400000) + intBitsToFloat(0x40400000))); -R5i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(uf_remappedPS[3].x)); -PS0i = R5i.x; -// 15 -backupReg0i = R5i.z; -R0i.x = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(uf_remappedPS[3].y)); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(PV0i.y)) + intBitsToFloat(R0i.y))); -R5i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(uf_remappedPS[3].z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R8i.w) * intBitsToFloat(0x437f0000)); -R5i.w = 0; -PS1i = R5i.w; -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[4].x),intBitsToFloat(uf_remappedPS[4].y),intBitsToFloat(uf_remappedPS[4].z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R125i.y),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R9i.y = int(intBitsToFloat(PV1i.w)); -PS0i = R9i.y; -// 17 -R124i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[5].x),intBitsToFloat(uf_remappedPS[5].y),intBitsToFloat(uf_remappedPS[5].z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R125i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = R124i.x; -PV1i.y = R124i.x; -PV1i.z = R124i.x; -PV1i.w = R124i.x; -R124i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x))); -PS1i = R124i.z; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R125i.y),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.y = tempi.x; -R125i.y = floatBitsToInt(max(-(intBitsToFloat(R124i.w)), 0.0)); -PS0i = R125i.y; -// 19 -backupReg0i = R124i.x; -backupReg0i = R124i.x; -backupReg1i = R124i.z; -backupReg1i = R124i.z; -redcCUBE(vec4(intBitsToFloat(R124i.z),intBitsToFloat(R124i.z),intBitsToFloat(backupReg0i),intBitsToFloat(PV0i.x)),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg1i)),cubeMapSTM,cubeMapFaceId); -R124i.x = floatBitsToInt(cubeMapSTM.x); -R124i.y = floatBitsToInt(cubeMapSTM.y); -R124i.z = floatBitsToInt(cubeMapSTM.z); -R124i.w = cubeMapFaceId; -PV1i.x = R124i.x; -PV1i.y = R124i.y; -PV1i.z = R124i.z; -PV1i.w = R124i.w; -R1i.z = floatBitsToInt(-(intBitsToFloat(R6i.w)) + 1.0); -PS1i = R1i.z; -// 20 -PV0i.x = R9i.y & 0x000000fc; -R2i.y = floatBitsToInt(min(intBitsToFloat(R125i.y), 1.0)); -R3i.z = PV1i.w; -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R6i.w)),intBitsToFloat(PS1i)) + intBitsToFloat(PS1i))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV1i.z))); -// 21 -R1i.x = 0; -R0i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(0x3c23d70a)); -R0i.y = clampFI32(R0i.y); -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(PS0i)) + 1.5)); -R0i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(PS0i)) + 1.5)); -R1i.w = floatBitsToInt(float(PV0i.x)); -PS1i = R1i.w; -// 0 -R3i.x = R0i.w; -R3i.y = R0i.z; -R0i.z = floatBitsToInt(-(intBitsToFloat(R2i.y)) + 1.0); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].x), intBitsToFloat(uf_remappedPS[7].w))); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y), intBitsToFloat(uf_remappedPS[7].w))); -PS0i = R1i.y; -R9i.xzw = floatBitsToInt(texture(textureUnitPS11, intBitsToFloat(R4i.xy)).xzw); -R7i.xyz = floatBitsToInt(texture(textureUnitPS10, vec3(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z))).xyz); -R3i.xyz = floatBitsToInt(textureLod(textureUnitPS8, vec4(redcCUBEReverse(intBitsToFloat(R3i.xy),R3i.z),cubeMapArrayIndex8),intBitsToFloat(R3i.w)).xyz); -R4i.xyz = floatBitsToInt(texture(textureUnitPS13, intBitsToFloat(R4i.xy)).xyz); -// 0 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R5i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z), intBitsToFloat(uf_remappedPS[7].w))); -PS0i = R127i.z; -// 1 -backupReg0i = R1i.z; -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(R0i.y))); -R124i.y = R9i.y & 0x00000002; -R1i.z = floatBitsToInt(intBitsToFloat(R1i.w) * intBitsToFloat(0x3b820821)); -PV1i.z = R1i.z; -R124i.w = floatBitsToInt((intBitsToFloat(backupReg0i) * 0.5 + 0.5)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R126i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R2i.y)),intBitsToFloat(R0i.z)) + intBitsToFloat(R0i.z))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * 0.25 + 0.25)); -PS0i = R127i.w; -// 3 -backupReg0i = R124i.y; -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[7].w))); -PV1i.x = R124i.x; -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[7].w))); -PV1i.y = R124i.y; -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[7].w))); -PV1i.z = R124i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R124i.w))); -R125i.w = floatBitsToInt(intBitsToFloat(R125i.w) / 2.0); -R127i.x = floatBitsToInt(float(backupReg0i)); -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) / 2.0); -PS1i = R127i.x; -// 4 -tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R0i.w)),-(intBitsToFloat(R1i.y)),-(intBitsToFloat(R127i.z)),-0.0),vec4(-(intBitsToFloat(PV1i.x)),-(intBitsToFloat(PV1i.y)),-(intBitsToFloat(PV1i.z)),0.0))); -tempi.x = clampFI32(tempi.x); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.z = tempi.x; -R124i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R2i.y)),intBitsToFloat(R126i.x)) + intBitsToFloat(R126i.x))); -PS0i = R124i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R5i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.z)),vec4(-(intBitsToFloat(R124i.x)),-(intBitsToFloat(R124i.y)),-(intBitsToFloat(R124i.z)),-(intBitsToFloat(R5i.w))))); -tempi.x = clampFI32(tempi.x); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.y = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -PS1i = R124i.y; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R5i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.z)),vec4(-(intBitsToFloat(R0i.w)),-(intBitsToFloat(R1i.y)),-(intBitsToFloat(R127i.z)),-(intBitsToFloat(R1i.x))))); -tempi.x = clampFI32(tempi.x); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.x))); -// 7 -backupReg0i = R126i.x; -backupReg1i = R124i.w; -R126i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.z)),intBitsToFloat(R124i.y)) + intBitsToFloat(R124i.y))); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), intBitsToFloat(PV0i.x))); -PV1i.y = R124i.y; -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(PS0i)) + -(intBitsToFloat(PS0i)))); -PV1i.z = R124i.z; -R124i.w = floatBitsToInt((-(intBitsToFloat(R6i.w)) * intBitsToFloat(0x40400000) + 4.0)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(backupReg1i))); -PS1i = R125i.z; -// 8 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(0x3e19999a)); -R127i.y = floatBitsToInt((intBitsToFloat(R9i.w) * 0.5 + 0.5)); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.w),-(intBitsToFloat(R127i.w))) + intBitsToFloat(R9i.w))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0); -R125i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + 1.0); -PS0i = R125i.y; -// 9 -backupReg0i = R124i.w; -R124i.x = floatBitsToInt((-(intBitsToFloat(R1i.z)) * intBitsToFloat(0x3d23d70a) + intBitsToFloat(0x3d23d70a))); -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.z)),intBitsToFloat(R126i.x)) + intBitsToFloat(R126i.x))); -PV1i.y = R123i.y; -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(PV0i.x)) + intBitsToFloat(R124i.y))); -R124i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),-(intBitsToFloat(R125i.w))) + intBitsToFloat(R2i.y))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); -// 10 -backupReg0i = R126i.x; -backupReg1i = R127i.w; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.z),intBitsToFloat(R125i.y)) + intBitsToFloat(R125i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PS1i))); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.y))); -R127i.w = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R127i.z)); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), intBitsToFloat(uf_remappedPS[8].x))); -// 11 -PV1i.x = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R127i.y)); -PV1i.x = clampFI32(PV1i.x); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(R1i.z)) + intBitsToFloat(R124i.x))); -R127i.z = floatBitsToInt(intBitsToFloat(R125i.w) + intBitsToFloat(R124i.w)); -R124i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),-(intBitsToFloat(R127i.x))) + intBitsToFloat(PS0i))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),-(intBitsToFloat(R125i.w))) + intBitsToFloat(R126i.w))); -PS1i = R122i.x; -// 12 -backupReg0i = R127i.x; -backupReg1i = R126i.z; -R127i.x = floatBitsToInt(intBitsToFloat(R125i.w) + intBitsToFloat(PS1i)); -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),-(intBitsToFloat(backupReg0i))) + intBitsToFloat(R127i.w))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[7].w), intBitsToFloat(uf_remappedPS[7].w))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PV1i.x))); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R126i.x)); -// 13 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),-(intBitsToFloat(R125i.y))) + intBitsToFloat(R127i.y))); -PV1i.x = R123i.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(R124i.w))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),-(intBitsToFloat(R125i.z))) + intBitsToFloat(R127i.y))); -PV1i.z = R123i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS0i))); -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(R127i.z)); -PS1i = R127i.y; -// 14 -backupReg0i = R125i.y; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(R126i.z))); -R125i.y = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(PV1i.z)); -R125i.z = floatBitsToInt(intBitsToFloat(R124i.y) * intBitsToFloat(0x3f400000)); -R124i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.x)); -R126i.z = floatBitsToInt(1.0 / intBitsToFloat(R127i.x)); -PS0i = R126i.z; -// 15 -backupReg0i = R127i.w; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[9].x),intBitsToFloat(R127i.w)) + intBitsToFloat(R7i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[9].y),intBitsToFloat(R127i.w)) + intBitsToFloat(R7i.y))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(0.25 * intBitsToFloat(R127i.y)); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[9].z),intBitsToFloat(backupReg0i)) + intBitsToFloat(R7i.z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV0i.x))); -PS1i = R127i.z; -// 16 -backupReg0i = R125i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PV1i.z))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(R126i.w))); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R124i.w))); -R126i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R1i.z)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -R126i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R1i.z)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PS0i = R126i.z; -// 17 -R123i.x = floatBitsToInt((intBitsToFloat(R8i.x) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); -R123i.x = clampFI32(R123i.x); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R1i.z)),intBitsToFloat(R127i.w)) + intBitsToFloat(R127i.w))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R8i.z) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); -R123i.z = clampFI32(R123i.z); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R8i.y) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); -R123i.w = clampFI32(R123i.w); -PV1i.w = R123i.w; -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.y))); -PS1i = R125i.x; -// 18 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PV1i.w))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PV1i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[9].x), intBitsToFloat(R127i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.z))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[9].y), intBitsToFloat(R127i.x))); -PS0i = R126i.w; -// 19 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(R125i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R125i.z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[9].z), intBitsToFloat(R127i.x))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(R125i.z))); -R127i.x = R9i.y & int(1); -PS1i = R127i.x; -// 20 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R125i.x)) + intBitsToFloat(PV1i.w))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(R125i.x)) + intBitsToFloat(PV1i.x))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); -PV0i.z = R123i.z; -R8i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R125i.x)) + intBitsToFloat(PV1i.y))); -R122i.x = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); -PS0i = R122i.x; -// 21 -R3i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(R9i.z))); -R3i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PS0i)); -R6i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -R3i.y = floatBitsToInt(float(R127i.x)); -PS1i = R3i.y; -// 22 -backupReg0i = R3i.x; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.z),intBitsToFloat(R6i.w)) + intBitsToFloat(R4i.x)*.35)); -PV0i.y = floatBitsToInt(intBitsToFloat(R8i.w) + intBitsToFloat(backupReg0i)); -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(R9i.y))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.z),intBitsToFloat(R3i.z)) + intBitsToFloat(R4i.y)*.35)); -PS0i = R3i.y; -// 23 -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.z),intBitsToFloat(PV0i.y)) + intBitsToFloat(R4i.z)*.35)); -// export -passPixelColor0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); -} +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +// shader 3179b85d41bfb80d +// fog trees +uniform ivec4 uf_remappedPS[10]; +layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a 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 0xf494a800 res 1280x720x1 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: 1 +layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 7) uniform sampler2D textureUnitPS7;// Tex7 addr 0xf5846000 res 640x360x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler7 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 8) uniform samplerCubeArray textureUnitPS8;// Tex8 addr 0x3d0ea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x6) Sampler8 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 10) uniform sampler2DArray textureUnitPS10;// Tex10 addr 0xf5593000 res 640x360x2 dim 5 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x2) Sampler10 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0xf575f800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0xf5977800 res 640x360x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 2 2 2 border: 1 +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem4; +layout(location = 2) in vec4 passParameterSem6; +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 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; +vec3 cubeMapSTM; +int cubeMapFaceId; +float cubeMapArrayIndex8 = 0.0; +R0i = floatBitsToInt(passParameterSem0); +R1i = floatBitsToInt(passParameterSem4); +R2i = floatBitsToInt(passParameterSem6); +R3i.w = floatBitsToInt(texture(textureUnitPS4, intBitsToFloat(R0i.xy)).x); +R6i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R2i.zw)).xyzw); +R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS6, intBitsToFloat(R0i.xy)).xyzw); +R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS7, intBitsToFloat(R0i.xy)).xyzw); +R8i.xyzw = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R2i.zw)).xyzw); +// 0 +R124i.x = floatBitsToInt((intBitsToFloat(R6i.x) * 2.0 + -(1.0))); +R124i.y = floatBitsToInt((intBitsToFloat(R6i.y) * 2.0 + -(1.0))); +R124i.z = floatBitsToInt((intBitsToFloat(R6i.z) * 2.0 + -(1.0))); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(uf_remappedPS[0].x)) + intBitsToFloat(uf_remappedPS[1].x))); +PV0i.w = R123i.w; +R126i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R4i.x)); +PS0i = R126i.x; +// 1 +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), -(intBitsToFloat(PV0i.w)))); +PV1i.x = R127i.x; +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), -(intBitsToFloat(PV0i.w)))); +PV1i.y = R127i.y; +R127i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w))); +PV1i.z = R127i.z; +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[2].y))); +R126i.w = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R4i.y)); +PS1i = R126i.w; +// 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 = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); +R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) * 2.0); +PS0i = R126i.y; +// 3 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(0x3eaaaaab),intBitsToFloat(0x3eaaaaab),intBitsToFloat(0x3eaaaaab),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R127i.w = tempi.x; +PS1i = floatBitsToInt(sqrt(intBitsToFloat(PV0i.x))); +// 4 +R125i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(R5i.x)); +R125i.y = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R4i.z)); +R126i.z = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R4i.w)); +R125i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(R5i.y)); +PS0i = floatBitsToInt(1.0 / intBitsToFloat(PS1i)); +// 5 +backupReg0i = R127i.x; +backupReg1i = R127i.y; +backupReg2i = R127i.z; +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS0i))); +R127i.y = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(R5i.z)); +R127i.z = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(R5i.w)); +R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS0i))); +R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS0i))); +PS1i = R5i.z; +// 6 +backupReg0i = R126i.y; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.x),intBitsToFloat(R124i.y),intBitsToFloat(R124i.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; +R126i.y = tempi.x; +R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].x), intBitsToFloat(backupReg0i))); +PS0i = R125i.z; +// 7 +backupReg0i = R125i.y; +backupReg0i = R125i.y; +backupReg1i = R126i.z; +backupReg1i = R126i.z; +backupReg2i = R126i.w; +backupReg2i = R126i.w; +PV1i.x = floatBitsToInt(max(intBitsToFloat(R126i.x), -(intBitsToFloat(R126i.x)))); +R125i.y = floatBitsToInt(max(intBitsToFloat(backupReg0i), -(intBitsToFloat(backupReg0i)))); +R126i.z = floatBitsToInt(max(intBitsToFloat(backupReg1i), -(intBitsToFloat(backupReg1i)))); +R126i.w = floatBitsToInt(max(intBitsToFloat(backupReg2i), -(intBitsToFloat(backupReg2i)))); +PS1i = floatBitsToInt(max(intBitsToFloat(R125i.x), -(intBitsToFloat(R125i.x)))); +PS1i = floatBitsToInt(intBitsToFloat(PS1i) * 4.0); +// 8 +R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(PS1i))); +PV0i.y = floatBitsToInt(max(intBitsToFloat(R127i.y), -(intBitsToFloat(R127i.y)))); +PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 4.0); +PV0i.z = floatBitsToInt(max(intBitsToFloat(R127i.z), -(intBitsToFloat(R127i.z)))); +PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 4.0); +PV0i.w = floatBitsToInt(max(intBitsToFloat(R125i.w), -(intBitsToFloat(R125i.w)))); +PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 4.0); +tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.y)); +R127i.z = floatBitsToInt(tempResultf); +PS0i = R127i.z; +// 9 +R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(PS0i))); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),intBitsToFloat(R125i.y)) + intBitsToFloat(PV0i.y))); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),intBitsToFloat(R126i.z)) + intBitsToFloat(PV0i.z))); +PV1i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),intBitsToFloat(R126i.w)) + intBitsToFloat(PV0i.w))); +PV1i.w = R123i.w; +R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(PS0i))); +PS1i = R5i.y; +// 10 +backupReg0i = R126i.x; +R126i.x = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.z)); +PV0i.x = R126i.x; +R125i.y = floatBitsToInt(fract(intBitsToFloat(R1i.x))); +R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(R127i.z))); +PV0i.z = R2i.z; +R126i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(PV1i.y))); +PV0i.w = R126i.w; +R125i.w = floatBitsToInt(fract(intBitsToFloat(R1i.y))); +PS0i = R125i.w; +// 11 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R5i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.w),intBitsToFloat(R5i.z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R124i.w = tempi.x; +PS1i = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); +// 12 +PV0i.x = R2i.x; +PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 2.0); +PV0i.y = floatBitsToInt(intBitsToFloat(PS1i) + intBitsToFloat(R125i.y)); +PV0i.y = clampFI32(PV0i.y); +PV0i.z = floatBitsToInt(intBitsToFloat(R126i.x) + -(intBitsToFloat(R126i.w))); +PV0i.w = R5i.y; +PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); +PS0i = R2i.z; +PS0i = floatBitsToInt(intBitsToFloat(PS0i) * 2.0); +// 13 +backupReg0i = R125i.y; +R126i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R124i.w)),intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.x))); +R125i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R124i.w)),intBitsToFloat(PV0i.w)) + intBitsToFloat(R127i.w))); +PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R125i.w)); +PV1i.z = clampFI32(PV1i.z); +PV1i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.y)); +R127i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R124i.w)),intBitsToFloat(PS0i)) + intBitsToFloat(R5i.z))); +PS1i = R127i.z; +// 14 +R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(R0i.x))); +PV0i.y = floatBitsToInt(-(intBitsToFloat(R125i.w)) + intBitsToFloat(PV1i.z)); +R4i.z = floatBitsToInt(roundEven(0.0)); +R3i.w = floatBitsToInt((-(intBitsToFloat(R6i.w)) * intBitsToFloat(0x40400000) + intBitsToFloat(0x40400000))); +R5i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(uf_remappedPS[3].x)); +PS0i = R5i.x; +// 15 +backupReg0i = R5i.z; +R0i.x = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(uf_remappedPS[3].y)); +R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(PV0i.y)) + intBitsToFloat(R0i.y))); +R5i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(uf_remappedPS[3].z)); +PV1i.w = floatBitsToInt(intBitsToFloat(R8i.w) * intBitsToFloat(0x437f0000)); +R5i.w = 0; +PS1i = R5i.w; +// 16 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[4].x),intBitsToFloat(uf_remappedPS[4].y),intBitsToFloat(uf_remappedPS[4].z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R125i.y),intBitsToFloat(R127i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R9i.y = int(intBitsToFloat(PV1i.w)); +PS0i = R9i.y; +// 17 +R124i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[5].x),intBitsToFloat(uf_remappedPS[5].y),intBitsToFloat(uf_remappedPS[5].z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R125i.y),intBitsToFloat(R127i.z),0.0))); +PV1i.x = R124i.x; +PV1i.y = R124i.x; +PV1i.z = R124i.x; +PV1i.w = R124i.x; +R124i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x))); +PS1i = R124i.z; +// 18 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R125i.y),intBitsToFloat(R127i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R124i.y = tempi.x; +R125i.y = floatBitsToInt(max(-(intBitsToFloat(R124i.w)), 0.0)); +PS0i = R125i.y; +// 19 +backupReg0i = R124i.x; +backupReg0i = R124i.x; +backupReg1i = R124i.z; +backupReg1i = R124i.z; +redcCUBE(vec4(intBitsToFloat(R124i.z),intBitsToFloat(R124i.z),intBitsToFloat(backupReg0i),intBitsToFloat(PV0i.x)),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg1i)),cubeMapSTM,cubeMapFaceId); +R124i.x = floatBitsToInt(cubeMapSTM.x); +R124i.y = floatBitsToInt(cubeMapSTM.y); +R124i.z = floatBitsToInt(cubeMapSTM.z); +R124i.w = cubeMapFaceId; +PV1i.x = R124i.x; +PV1i.y = R124i.y; +PV1i.z = R124i.z; +PV1i.w = R124i.w; +R1i.z = floatBitsToInt(-(intBitsToFloat(R6i.w)) + 1.0); +PS1i = R1i.z; +// 20 +PV0i.x = R9i.y & 0x000000fc; +R2i.y = floatBitsToInt(min(intBitsToFloat(R125i.y), 1.0)); +R3i.z = PV1i.w; +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R6i.w)),intBitsToFloat(PS1i)) + intBitsToFloat(PS1i))); +PV0i.w = R123i.w; +PS0i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV1i.z))); +// 21 +R1i.x = 0; +R0i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(0x3c23d70a)); +R0i.y = clampFI32(R0i.y); +R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(PS0i)) + 1.5)); +R0i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(PS0i)) + 1.5)); +R1i.w = floatBitsToInt(float(PV0i.x)); +PS1i = R1i.w; +// 0 +R3i.x = R0i.w; +R3i.y = R0i.z; +R0i.z = floatBitsToInt(-(intBitsToFloat(R2i.y)) + 1.0); +R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].x), intBitsToFloat(uf_remappedPS[7].w))); +R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y), intBitsToFloat(uf_remappedPS[7].w))); +PS0i = R1i.y; +R9i.xzw = floatBitsToInt(texture(textureUnitPS11, intBitsToFloat(R4i.xy)).xzw); +R7i.xyz = floatBitsToInt(texture(textureUnitPS10, vec3(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z))).xyz); +R3i.xyz = floatBitsToInt(textureLod(textureUnitPS8, vec4(redcCUBEReverse(intBitsToFloat(R3i.xy),R3i.z),cubeMapArrayIndex8),intBitsToFloat(R3i.w)).xyz); +R4i.xyz = floatBitsToInt(texture(textureUnitPS13, intBitsToFloat(R4i.xy)).xyz); +// 0 +backupReg0i = R0i.x; +backupReg0i = R0i.x; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R5i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z), intBitsToFloat(uf_remappedPS[7].w))); +PS0i = R127i.z; +// 1 +backupReg0i = R1i.z; +R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(R0i.y))); +R124i.y = R9i.y & 0x00000002; +R1i.z = floatBitsToInt(intBitsToFloat(R1i.w) * intBitsToFloat(0x3b820821)); +PV1i.z = R1i.z; +R124i.w = floatBitsToInt((intBitsToFloat(backupReg0i) * 0.5 + 0.5)); +tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); +PS1i = floatBitsToInt(tempResultf); +// 2 +R126i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R2i.y)),intBitsToFloat(R0i.z)) + intBitsToFloat(R0i.z))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PS1i))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS1i))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(PS1i))); +R127i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * 0.25 + 0.25)); +PS0i = R127i.w; +// 3 +backupReg0i = R124i.y; +R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[7].w))); +PV1i.x = R124i.x; +R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[7].w))); +PV1i.y = R124i.y; +R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[7].w))); +PV1i.z = R124i.z; +R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R124i.w))); +R125i.w = floatBitsToInt(intBitsToFloat(R125i.w) / 2.0); +R127i.x = floatBitsToInt(float(backupReg0i)); +R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) / 2.0); +PS1i = R127i.x; +// 4 +tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R0i.w)),-(intBitsToFloat(R1i.y)),-(intBitsToFloat(R127i.z)),-0.0),vec4(-(intBitsToFloat(PV1i.x)),-(intBitsToFloat(PV1i.y)),-(intBitsToFloat(PV1i.z)),0.0))); +tempi.x = clampFI32(tempi.x); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R126i.z = tempi.x; +R124i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R2i.y)),intBitsToFloat(R126i.x)) + intBitsToFloat(R126i.x))); +PS0i = R124i.w; +// 5 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R5i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.z)),vec4(-(intBitsToFloat(R124i.x)),-(intBitsToFloat(R124i.y)),-(intBitsToFloat(R124i.z)),-(intBitsToFloat(R5i.w))))); +tempi.x = clampFI32(tempi.x); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R124i.y = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); +PS1i = R124i.y; +// 6 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R5i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.z)),vec4(-(intBitsToFloat(R0i.w)),-(intBitsToFloat(R1i.y)),-(intBitsToFloat(R127i.z)),-(intBitsToFloat(R1i.x))))); +tempi.x = clampFI32(tempi.x); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R126i.w = tempi.x; +PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.x))); +// 7 +backupReg0i = R126i.x; +backupReg1i = R124i.w; +R126i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.z)),intBitsToFloat(R124i.y)) + intBitsToFloat(R124i.y))); +R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), intBitsToFloat(PV0i.x))); +PV1i.y = R124i.y; +R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(PS0i)) + -(intBitsToFloat(PS0i)))); +PV1i.z = R124i.z; +R124i.w = floatBitsToInt((-(intBitsToFloat(R6i.w)) * intBitsToFloat(0x40400000) + 4.0)); +R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(backupReg1i))); +PS1i = R125i.z; +// 8 +PV0i.x = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(0x3e19999a)); +R127i.y = floatBitsToInt((intBitsToFloat(R9i.w) * 0.5 + 0.5)); +R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.w),-(intBitsToFloat(R127i.w))) + intBitsToFloat(R9i.w))); +PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0); +R125i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + 1.0); +PS0i = R125i.y; +// 9 +backupReg0i = R124i.w; +R124i.x = floatBitsToInt((-(intBitsToFloat(R1i.z)) * intBitsToFloat(0x3d23d70a) + intBitsToFloat(0x3d23d70a))); +R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.z)),intBitsToFloat(R126i.x)) + intBitsToFloat(R126i.x))); +PV1i.y = R123i.y; +R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(PV0i.x)) + intBitsToFloat(R124i.y))); +R124i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),-(intBitsToFloat(R125i.w))) + intBitsToFloat(R2i.y))); +PS1i = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); +// 10 +backupReg0i = R126i.x; +backupReg1i = R127i.w; +R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.z),intBitsToFloat(R125i.y)) + intBitsToFloat(R125i.y))); +R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PS1i))); +R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.y))); +R127i.w = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R127i.z)); +PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), intBitsToFloat(uf_remappedPS[8].x))); +// 11 +PV1i.x = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R127i.y)); +PV1i.x = clampFI32(PV1i.x); +R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(R1i.z)) + intBitsToFloat(R124i.x))); +R127i.z = floatBitsToInt(intBitsToFloat(R125i.w) + intBitsToFloat(R124i.w)); +R124i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),-(intBitsToFloat(R127i.x))) + intBitsToFloat(PS0i))); +R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),-(intBitsToFloat(R125i.w))) + intBitsToFloat(R126i.w))); +PS1i = R122i.x; +// 12 +backupReg0i = R127i.x; +backupReg1i = R126i.z; +R127i.x = floatBitsToInt(intBitsToFloat(R125i.w) + intBitsToFloat(PS1i)); +R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),-(intBitsToFloat(backupReg0i))) + intBitsToFloat(R127i.w))); +R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[7].w), intBitsToFloat(uf_remappedPS[7].w))); +R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PV1i.x))); +PS0i = floatBitsToInt(1.0 / intBitsToFloat(R126i.x)); +// 13 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),-(intBitsToFloat(R125i.y))) + intBitsToFloat(R127i.y))); +PV1i.x = R123i.x; +R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(R124i.w))); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),-(intBitsToFloat(R125i.z))) + intBitsToFloat(R127i.y))); +PV1i.z = R123i.z; +R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS0i))); +R127i.y = floatBitsToInt(1.0 / intBitsToFloat(R127i.z)); +PS1i = R127i.y; +// 14 +backupReg0i = R125i.y; +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(R126i.z))); +R125i.y = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(PV1i.z)); +R125i.z = floatBitsToInt(intBitsToFloat(R124i.y) * intBitsToFloat(0x3f400000)); +R124i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.x)); +R126i.z = floatBitsToInt(1.0 / intBitsToFloat(R127i.x)); +PS0i = R126i.z; +// 15 +backupReg0i = R127i.w; +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[9].x),intBitsToFloat(R127i.w)) + intBitsToFloat(R7i.x))); +PV1i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[9].y),intBitsToFloat(R127i.w)) + intBitsToFloat(R7i.y))); +PV1i.y = R123i.y; +PV1i.z = floatBitsToInt(0.25 * intBitsToFloat(R127i.y)); +R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[9].z),intBitsToFloat(backupReg0i)) + intBitsToFloat(R7i.z))); +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV0i.x))); +PS1i = R127i.z; +// 16 +backupReg0i = R125i.z; +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PV1i.z))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(R126i.w))); +R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R124i.w))); +R126i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R1i.z)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); +R126i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R1i.z)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); +PS0i = R126i.z; +// 17 +R123i.x = floatBitsToInt((intBitsToFloat(R8i.x) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); +R123i.x = clampFI32(R123i.x); +PV1i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R1i.z)),intBitsToFloat(R127i.w)) + intBitsToFloat(R127i.w))); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((intBitsToFloat(R8i.z) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); +R123i.z = clampFI32(R123i.z); +PV1i.z = R123i.z; +R123i.w = floatBitsToInt((intBitsToFloat(R8i.y) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); +R123i.w = clampFI32(R123i.w); +PV1i.w = R123i.w; +R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.y))); +PS1i = R125i.x; +// 18 +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PV1i.w))); +R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PV1i.x))); +R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[9].x), intBitsToFloat(R127i.x))); +R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.z))); +R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[9].y), intBitsToFloat(R127i.x))); +PS0i = R126i.w; +// 19 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(R125i.z))); +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R125i.z))); +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[9].z), intBitsToFloat(R127i.x))); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(R125i.z))); +R127i.x = R9i.y & int(1); +PS1i = R127i.x; +// 20 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R125i.x)) + intBitsToFloat(PV1i.w))); +PV0i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(R125i.x)) + intBitsToFloat(PV1i.x))); +PV0i.y = R123i.y; +R123i.z = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); +PV0i.z = R123i.z; +R8i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R125i.x)) + intBitsToFloat(PV1i.y))); +R122i.x = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); +PS0i = R122i.x; +// 21 +R3i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); +R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(R9i.z))); +R3i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PS0i)); +R6i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); +R3i.y = floatBitsToInt(float(R127i.x)); +PS1i = R3i.y; +// 22 +backupReg0i = R3i.x; +R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.z),intBitsToFloat(R6i.w)) + intBitsToFloat(R4i.x)*.35)); +PV0i.y = floatBitsToInt(intBitsToFloat(R8i.w) + intBitsToFloat(backupReg0i)); +R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(R9i.y))); +R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.z),intBitsToFloat(R3i.z)) + intBitsToFloat(R4i.y)*.35)); +PS0i = R3i.y; +// 23 +R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.z),intBitsToFloat(PV0i.y)) + intBitsToFloat(R4i.z)*.35)); +// export +passPixelColor0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); +} diff --git a/Workarounds/BreathOfTheWild_Intel_RemoveBloom/3df0bb0da1c740d5_000000000000001c_ps.txt b/Workarounds/BreathOfTheWild_Intel_RemoveBloom/3df0bb0da1c740d5_000000000000001c_ps.txt index 914e45dd..ad1100b7 100644 --- a/Workarounds/BreathOfTheWild_Intel_RemoveBloom/3df0bb0da1c740d5_000000000000001c_ps.txt +++ b/Workarounds/BreathOfTheWild_Intel_RemoveBloom/3df0bb0da1c740d5_000000000000001c_ps.txt @@ -1,75 +1,75 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 3df0bb0da1c740d5 -// atmospheric dust and crespecular rays -uniform ivec4 uf_remappedPS[1]; -uniform float uf_alphaTestRef; -layout(binding = 9) uniform sampler2D textureUnitPS9;// Tex9 addr 0xf557c800 res 160x90x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler9 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 1) in vec4 passParameterSem3; -layout(location = 2) in vec4 passParameterSem4; -layout(location = 3) in vec4 passParameterSem7; -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); -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 = passParameterSem3; -R2f = passParameterSem4; -R3f = passParameterSem7; -// 0 -R3f.x = mul_nonIEEE(R0f.y, R3f.w); -R2f.y = mul_nonIEEE(R0f.x, R3f.w); -R1f.z = mul_nonIEEE(R0f.z, R3f.w); -PV0f.w = R3f.w * 1.0; -PS0f = 1.0 / R1f.w; -// 1 -R0f.x = mul_nonIEEE(R1f.x, PS0f); -R0f.y = mul_nonIEEE(R1f.y, PS0f); -R0f.z = mul_nonIEEE(R0f.w, PV0f.w); -R0f.z = clamp(R0f.z, 0.0, 1.0); -R1f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].x), intBitsToFloat(uf_remappedPS[0].w)); -R1f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), intBitsToFloat(uf_remappedPS[0].w)); -PS1f = R1f.x; -R0f.w = (texture(textureUnitPS9, R0f.xy).x); -// 0 -PV0f.x = mul_nonIEEE(R2f.x, R0f.z); -R0f.y = mul_nonIEEE(R3f.x, R1f.x); -PV0f.z = R0f.w; -PV0f.z /= 2.0; -PV0f.z = clamp(PV0f.z, 0.0, 1.0); -PV0f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z), intBitsToFloat(uf_remappedPS[0].w)); -R0f.x = mul_nonIEEE(R2f.y, R1f.w); -PS0f = R0f.x; -// 1 -R0f.z = mul_nonIEEE(R1f.z, PV0f.w); -R0f.w = mul_nonIEEE(PV0f.x, PV0f.z); -// export -// check whether fragment output is higher than threshold, if so output as brightness color -if( ((vec4(R0f.x, R0f.y, R0f.z, R0f.w)).a > uf_alphaTestRef) == false) discard; -passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w*.35); -} +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +// shader 3df0bb0da1c740d5 +// atmospheric dust and crespecular rays +uniform ivec4 uf_remappedPS[1]; +uniform float uf_alphaTestRef; +layout(binding = 9) uniform sampler2D textureUnitPS9;// Tex9 addr 0xf557c800 res 160x90x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler9 ClampX/Y/Z: 2 2 2 border: 1 +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem3; +layout(location = 2) in vec4 passParameterSem4; +layout(location = 3) in vec4 passParameterSem7; +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); +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 = passParameterSem3; +R2f = passParameterSem4; +R3f = passParameterSem7; +// 0 +R3f.x = mul_nonIEEE(R0f.y, R3f.w); +R2f.y = mul_nonIEEE(R0f.x, R3f.w); +R1f.z = mul_nonIEEE(R0f.z, R3f.w); +PV0f.w = R3f.w * 1.0; +PS0f = 1.0 / R1f.w; +// 1 +R0f.x = mul_nonIEEE(R1f.x, PS0f); +R0f.y = mul_nonIEEE(R1f.y, PS0f); +R0f.z = mul_nonIEEE(R0f.w, PV0f.w); +R0f.z = clamp(R0f.z, 0.0, 1.0); +R1f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].x), intBitsToFloat(uf_remappedPS[0].w)); +R1f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), intBitsToFloat(uf_remappedPS[0].w)); +PS1f = R1f.x; +R0f.w = (texture(textureUnitPS9, R0f.xy).x); +// 0 +PV0f.x = mul_nonIEEE(R2f.x, R0f.z); +R0f.y = mul_nonIEEE(R3f.x, R1f.x); +PV0f.z = R0f.w; +PV0f.z /= 2.0; +PV0f.z = clamp(PV0f.z, 0.0, 1.0); +PV0f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z), intBitsToFloat(uf_remappedPS[0].w)); +R0f.x = mul_nonIEEE(R2f.y, R1f.w); +PS0f = R0f.x; +// 1 +R0f.z = mul_nonIEEE(R1f.z, PV0f.w); +R0f.w = mul_nonIEEE(PV0f.x, PV0f.z); +// export +// check whether fragment output is higher than threshold, if so output as brightness color +if( ((vec4(R0f.x, R0f.y, R0f.z, R0f.w)).a > uf_alphaTestRef) == false) discard; +passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w*.35); +} diff --git a/Workarounds/BreathOfTheWild_Intel_RemoveBloom/59cba7eb9a9c1df6_00000007f924d249_ps.txt b/Workarounds/BreathOfTheWild_Intel_RemoveBloom/59cba7eb9a9c1df6_00000007f924d249_ps.txt index 64673cf0..61c17cea 100644 --- a/Workarounds/BreathOfTheWild_Intel_RemoveBloom/59cba7eb9a9c1df6_00000007f924d249_ps.txt +++ b/Workarounds/BreathOfTheWild_Intel_RemoveBloom/59cba7eb9a9c1df6_00000007f924d249_ps.txt @@ -1,792 +1,792 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 59cba7eb9a9c1df6 -// fog on water but also used by AMD_Intel shadow fix -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 38, std140) uniform uniformBlockPS6 -{ -vec4 uf_blockPS6[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30364000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf494a800 res 1280x720x1 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: 1 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x23c81000 res 1024x1024x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 0 0 0 border: 1 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 7) uniform sampler2DArrayShadow textureUnitPS7;// Tex7 addr 0xf58a8000 res 360x360x3 dim 5 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x3) Sampler7 ClampX/Y/Z: 6 6 2 border: 2 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x3cfaa000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0x3d0a8000 res 96x96x1 dim 1 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf5589800 res 160x90x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x30366000 res 2000x1600x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 1 1 1 border: 1 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 1) in vec4 passParameterSem2; -layout(location = 2) in vec4 passParameterSem5; -layout(location = 3) in vec4 passParameterSem6; -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 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); -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[3]; -bool activeMaskStackC[4]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(passParameterSem0); -R1i = floatBitsToInt(passParameterSem2); -R2i = floatBitsToInt(passParameterSem5); -R3i = floatBitsToInt(passParameterSem6); -if( activeMaskStackC[1] == true ) { -R4i.w = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R0i.xy)).x); -R5i.xzw = floatBitsToInt(textureGather(textureUnitPS5, intBitsToFloat(R0i.xy)).xzw); -R3i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R3i.zw)).xyzw); -R11i.xy = floatBitsToInt(texture(textureUnitPS14, intBitsToFloat(R0i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS1[16].x,intBitsToFloat(R5i.w)) + uf_blockPS1[14].x)); -PV0i.x = R123i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS1[16].x,intBitsToFloat(R5i.z)) + uf_blockPS1[14].x)); -PV0i.y = R127i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),uf_blockPS1[16].x) + uf_blockPS1[14].x)); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS1[16].x,intBitsToFloat(R5i.x)) + uf_blockPS1[14].x)); -R5i.x = floatBitsToInt((intBitsToFloat(R3i.x) * 2.0 + -(1.0))); -PS0i = R5i.x; -// 1 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), -(intBitsToFloat(PV0i.z)))); -PV1i.x = R4i.x; -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), -(intBitsToFloat(PV0i.z)))); -R1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), -(intBitsToFloat(PV0i.y)))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), -(intBitsToFloat(PV0i.y)))); -PS1i = R125i.w; -// 2 -R127i.x = floatBitsToInt(-(intBitsToFloat(R127i.y))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS6[43].x)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS6[45].x)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), -(intBitsToFloat(R127i.w)))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), -(intBitsToFloat(R127i.w)))); -PS0i = R127i.y; -// 3 -backupReg0i = R127i.w; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),uf_blockPS6[45].y) + intBitsToFloat(PV0i.z))); -PV1i.x = R123i.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R4i.x)) + intBitsToFloat(R126i.w)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),uf_blockPS6[43].y) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R127i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -R126i.x = floatBitsToInt(-(intBitsToFloat(R1i.y)) + intBitsToFloat(R125i.w)); -PS1i = R126i.x; -// 4 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(-(intBitsToFloat(R1i.z)) + intBitsToFloat(backupReg0i)); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS6[45].z) + intBitsToFloat(PV1i.x))); -R125i.z = floatBitsToInt(-(intBitsToFloat(R4i.x)) + intBitsToFloat(R124i.w)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS6[43].z) + intBitsToFloat(PV1i.z))); -PV0i.w = R123i.w; -R127i.z = floatBitsToInt(-(intBitsToFloat(R1i.y)) + intBitsToFloat(R127i.y)); -PS0i = R127i.z; -// 5 -R8i.x = floatBitsToInt(uf_blockPS6[43].w + intBitsToFloat(PV0i.w)); -PV1i.x = R8i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockPS6[44].x)); -R126i.z = floatBitsToInt(-(intBitsToFloat(R1i.z)) + intBitsToFloat(R127i.w)); -PV1i.z = R126i.z; -R4i.w = floatBitsToInt((intBitsToFloat(R3i.y) * 2.0 + -(1.0))); -R5i.z = floatBitsToInt((intBitsToFloat(R3i.z) * 2.0 + -(1.0))); -PS1i = R5i.z; -// 6 -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),uf_blockPS6[39].z) + -(uf_blockPS6[39].x))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R127i.z))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(R125i.z))); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.w) * intBitsToFloat(0x437f0000)); -PS0i = R2i.y; -// 7 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),uf_blockPS6[44].y) + intBitsToFloat(R127i.y))); -PV1i.x = R123i.x; -R0i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.z)),intBitsToFloat(R126i.y)) + intBitsToFloat(PV0i.w))); -R6i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.z)),intBitsToFloat(R126i.x)) + intBitsToFloat(PV0i.z))); -R5i.w = 0x3f800000; -R1i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.y))); -PS1i = R1i.x; -// 8 -R2i.x = floatBitsToInt((-(intBitsToFloat(R1i.z)) * intBitsToFloat(0x3d4ccccd) + intBitsToFloat(0xc0600000))); -R2i.x = clampFI32(R2i.x); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R0i.z = floatBitsToInt(-(intBitsToFloat(R1i.z)) * intBitsToFloat(0x3d4ccccd)); -PV0i.z = R0i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS6[44].z) + intBitsToFloat(PV1i.x))); -PV0i.w = R123i.w; -R9i.x = floatBitsToInt(uf_blockPS1[0].y); -PS0i = R9i.x; -// 9 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.y))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.z))); -R12i.z = floatBitsToInt(uf_blockPS6[44].w + intBitsToFloat(PV0i.w)); -PV1i.z = R12i.z; -R0i.w = floatBitsToInt((-(uf_blockPS6[53].w) * intBitsToFloat(0x3d4ccccd) + intBitsToFloat(PV0i.z))); -R0i.w = clampFI32(R0i.w); -R8i.w = R11i.x; -R8i.w = clampFI32(R8i.w); -PS1i = R8i.w; -// 10 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R4i.x)) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R12i.y = PV1i.z; -PV0i.y = R12i.y; -R8i.z = floatBitsToInt(uf_blockPS6[45].w + intBitsToFloat(R125i.y)); -PV0i.z = R8i.z; -R6i.w = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R1i.z)), uf_blockPS1[17].y)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.y))); -PS0i = R122i.x; -// 11 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(R5i.x)) + intBitsToFloat(PS0i))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),uf_blockPS6[39].z) + -(uf_blockPS6[39].y))); -R2i.z = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + uf_blockPS6[39].w); -R3i.w = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R6i.z)), -(intBitsToFloat(R6i.z)))); -R2i.w = floatBitsToInt(sqrt(intBitsToFloat(PV0i.x))); -PS1i = R2i.w; -} -if( activeMaskStackC[1] == true ) { -R3i.z = floatBitsToInt(textureLod(textureUnitPS11, intBitsToFloat(R3i.xy),0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R0i.y)),-(intBitsToFloat(R0i.y))) + intBitsToFloat(R3i.w))); -PV0i.x = R123i.x; -R125i.y = floatBitsToInt(uf_blockPS10[2].z + 1.0); -R123i.w = floatBitsToInt((mul_nonIEEE(-(uf_blockPS6[39].w),intBitsToFloat(R3i.z)) + intBitsToFloat(R2i.z))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R2i.w)); -// 1 -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(PS0i))); -R13i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PS0i))); -PV1i.y = R13i.y; -R127i.z = floatBitsToInt(intBitsToFloat(PV0i.w) * 0.25); -R127i.z = clampFI32(R127i.z); -PV1i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R1i.x)),-(intBitsToFloat(R1i.x))) + intBitsToFloat(PV0i.x))); -R9i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS0i))); -PS1i = R9i.z; -// 2 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.y)),intBitsToFloat(PV1i.y)) + 1.0)); -PV0i.y = R123i.y; -R13i.z = floatBitsToInt(-(intBitsToFloat(R0i.w)) + intBitsToFloat(R125i.y)); -R13i.z = clampFI32(R13i.z); -R10i.z = floatBitsToInt((-(uf_blockPS6[53].z) * intBitsToFloat(0x3d4ccccd) + intBitsToFloat(R0i.z))); -R10i.z = clampFI32(R10i.z); -PS0i = R10i.z; -// 3 -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -PV1i.y = R123i.y; -R14i.z = floatBitsToInt(intBitsToFloat(R2i.x) + uf_blockPS10[3].y); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.y)); -R0i.z = floatBitsToInt(tempResultf); -PS1i = R0i.z; -// 4 -R9i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.w = R9i.w; -PS0i = int(intBitsToFloat(R2i.y)); -// 5 -PV1i.w = PS0i & int(1); -R10i.w = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -PS1i = R10i.w; -// 6 -R7i.z = ((PV1i.w == 0)?(0):(0x3f800000)); -tempResultf = 1.0 / sqrt(intBitsToFloat(R0i.x)); -PS0i = floatBitsToInt(tempResultf); -// 7 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PS0i))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(PS0i))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS0i))); -R4i.w = floatBitsToInt(uf_blockPS10[2].w); -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.w)); -R0i.w = floatBitsToInt(tempResultf); -PS1i = R0i.w; -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R11i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS6[4].x, intBitsToFloat(R4i.w))); -PV0i.x = R11i.x; -R14i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS6[4].y, intBitsToFloat(R4i.w))); -PV0i.y = R14i.y; -R3i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS6[4].z, intBitsToFloat(R4i.w))); -PV0i.z = R3i.z; -R3i.w = 0; -// 1 -R127i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.y)),intBitsToFloat(PV0i.y)) + 1.0)); -R2i.y = PV0i.z; -PV1i.y = R2i.y; -R2i.z = 0; -PV1i.z = R2i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(PV0i.z))); -R0i.x = PV0i.x; -PS1i = R0i.x; -// 2 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R9i.z),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(PS1i),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.y),intBitsToFloat(R14i.y)) + intBitsToFloat(PV1i.w))); -PS0i = R122i.x; -// 3 -R10i.y = floatBitsToInt(uf_blockPS1[1].y); -R11i.z = floatBitsToInt(uf_blockPS1[2].y); -R11i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),intBitsToFloat(R11i.x)) + intBitsToFloat(PS0i))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.x)); -PS1i = floatBitsToInt(tempResultf); -// 4 -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R0i.z))); -// 5 -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R126i.x))); -// 6 -predResult = (1.0 > intBitsToFloat(R10i.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(R3i.x) * 1.5); -PV0i.y = ((-(intBitsToFloat(R1i.z)) > uf_blockPS1[58].x)?int(0xFFFFFFFF):int(0x0)); -R127i.z = ((-(intBitsToFloat(R1i.z)) > uf_blockPS1[58].y)?int(0xFFFFFFFF):int(0x0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.y) * 1.5); -PS0i = floatBitsToInt(intBitsToFloat(R4i.z) * 1.5); -// 1 -PV1i.x = PV0i.y & int(1); -R2i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R1i.x)),intBitsToFloat(R0i.w)) + intBitsToFloat(PV0i.x))); -R2i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R0i.y)),intBitsToFloat(R0i.w)) + intBitsToFloat(PV0i.w))); -R2i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R6i.z)),intBitsToFloat(R0i.w)) + intBitsToFloat(PS0i))); -PV1i.w = R2i.w; -R122i.x = floatBitsToInt((intBitsToFloat(R6i.w) * 0.25 + 1.0)); -PS1i = R122i.x; -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PV1i.w))); -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), -(intBitsToFloat(R3i.w)))); -R12i.w = PV1i.x - R127i.z; -PV0i.w = R12i.w; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), intBitsToFloat(R8i.y))); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(R2i.z)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),-(intBitsToFloat(R14i.y))) + intBitsToFloat(PV0i.z))); -PV1i.z = PV0i.w << 0x00000002; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.z),intBitsToFloat(R4i.z)) + intBitsToFloat(PS0i))); -PS1i = R127i.x; -// 4 -R0i.x = PV1i.z + 0x0000002b; -R0i.y = PV1i.z + 0x0000002a; -R0i.z = PV1i.z + 0x0000002d; -R0i.w = PV1i.z + 0x0000002c; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(R2i.y)) + intBitsToFloat(PV1i.x))); -PS0i = R122i.x; -// 5 -R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),-(intBitsToFloat(R3i.z))) + intBitsToFloat(R127i.y))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.x),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.x))); -tempResultf = 1.0 / sqrt(intBitsToFloat(PS0i)); -R3i.w = floatBitsToInt(tempResultf); -PS1i = R3i.w; -} -if( activeMaskStackC[2] == true ) { -R5i.xyzw = floatBitsToInt(uf_blockPS1[R0i.z].xyzw); -R6i.xyzw = floatBitsToInt(uf_blockPS1[R0i.w].xyzw); -R7i.xyzw = floatBitsToInt(uf_blockPS1[R0i.y].xyzw); -R0i.xyzw = floatBitsToInt(uf_blockPS1[R0i.x].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(R3i.w))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(R3i.w))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(R3i.w))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),-(intBitsToFloat(R11i.x))) + intBitsToFloat(R2i.x))); -R127i.w = clampFI32(R127i.w); -R125i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R11i.z)),intBitsToFloat(R3i.y)) + intBitsToFloat(R4i.z))); -PS0i = R125i.z; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R14i.y),intBitsToFloat(R3i.z),-0.0),vec4(intBitsToFloat(PV0i.x),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 = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R9i.x)),intBitsToFloat(R3i.y)) + intBitsToFloat(R3i.x))); -PS1i = R122i.x; -// 2 -backupReg0i = R127i.z; -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R11i.x)),intBitsToFloat(PV1i.x)) + intBitsToFloat(R127i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(PV1i.x)) + 1.0)); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(0x3f19999a) + intBitsToFloat(R4i.x))); -R126i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R10i.y)),intBitsToFloat(R3i.y)) + intBitsToFloat(R8i.y))); -R122i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R3i.z)),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); -PS0i = R122i.x; -// 3 -backupReg0i = R126i.z; -backupReg1i = R127i.y; -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R127i.w))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PV0i.x))); -R126i.z = floatBitsToInt((intBitsToFloat(R125i.z) * intBitsToFloat(0x3f19999a) + intBitsToFloat(R1i.z))); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R14i.y)),intBitsToFloat(backupReg0i)) + intBitsToFloat(backupReg1i))); -PV1i.w = R123i.w; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PS0i))); -PS1i = R127i.w; -// 4 -R123i.x = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(0x3f19999a) + intBitsToFloat(R1i.y))); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3da1ff2e)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PV1i.w))); -R125i.z = floatBitsToInt(float(R12i.w)); -PS0i = R125i.z; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(R127i.z))); -PV1i.x = R1i.x; -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.x))); -R15i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PV0i.z)) + intBitsToFloat(R126i.z))); -R4i.z = floatBitsToInt(roundEven(intBitsToFloat(PS0i))); -PS1i = R4i.z; -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R6i.x))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R5i.x))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 7 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R5i.y)) + intBitsToFloat(PV0i.y))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R6i.y)) + intBitsToFloat(PV0i.x))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R0i.x))); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.z),intBitsToFloat(R6i.z)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R0i.y)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.z),intBitsToFloat(R5i.z)) + intBitsToFloat(PV1i.x))); -PV0i.w = R123i.w; -// 9 -backupReg0i = R0i.z; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R7i.y)) + intBitsToFloat(R127i.z))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt(intBitsToFloat(R6i.w) + intBitsToFloat(PV0i.x)); -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.w) + intBitsToFloat(PV0i.w)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.z),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -// 10 -PV0i.z = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(PV1i.w)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.z),intBitsToFloat(R7i.z)) + intBitsToFloat(PV1i.x))); -PV0i.w = R123i.w; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.z)); -PS0i = R126i.y; -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(intBitsToFloat(R7i.w) + intBitsToFloat(PV0i.w)); -// 12 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R126i.y))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(0xbb03126f)); -// 13 -R4i.w = floatBitsToInt((-(intBitsToFloat(R125i.z)) * intBitsToFloat(0x3a03126f) + intBitsToFloat(PV0i.w))); -R4i.w = clampFI32(R4i.w); -} -if( activeMaskStackC[2] == true ) { -R5i.y = floatBitsToInt(texture(textureUnitPS7, vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),intBitsToFloat(R4i.w)))); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = ((1.0 > intBitsToFloat(R5i.y))?int(0xFFFFFFFF):int(0x0)); -// 1 -R0i.y = ((R12i.w > 0)?(PV0i.x):(0)); -// 2 -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 -PV0i.w = int(-1) + R12i.w; -// 1 -PV1i.z = PV0i.w << 0x00000002; -R5i.x = floatBitsToInt(float(PV0i.w)); -PS1i = R5i.x; -// 2 -R0i.x = PV1i.z + 0x0000002b; -R0i.y = PV1i.z + 0x0000002a; -R0i.z = PV1i.z + 0x0000002d; -R0i.w = PV1i.z + 0x0000002c; -R6i.z = floatBitsToInt(roundEven(intBitsToFloat(PS1i))); -PS0i = R6i.z; -} -if( activeMaskStackC[3] == true ) { -R2i.xyzw = floatBitsToInt(uf_blockPS1[R0i.z].xyzw); -R3i.xyzw = floatBitsToInt(uf_blockPS1[R0i.w].xyzw); -R4i.xyzw = floatBitsToInt(uf_blockPS1[R0i.y].xyzw); -R0i.xyzw = floatBitsToInt(uf_blockPS1[R0i.x].xyzw); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R3i.x))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R2i.x))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R2i.y)) + intBitsToFloat(PV0i.y))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R3i.y)) + intBitsToFloat(PV0i.x))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R4i.x))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R0i.x))); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.z),intBitsToFloat(R3i.z)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R4i.y)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R0i.y)) + intBitsToFloat(PV1i.w))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.z),intBitsToFloat(R2i.z)) + intBitsToFloat(PV1i.x))); -PV0i.w = R123i.w; -// 3 -R127i.x = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(PV0i.x)); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.z),intBitsToFloat(R0i.z)) + intBitsToFloat(PV0i.z))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.z),intBitsToFloat(R4i.z)) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(R4i.w) + intBitsToFloat(PV1i.w)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.z)); -// 5 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PS0i))); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); -// 6 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(0xbb03126f)); -// 7 -R6i.w = floatBitsToInt((-(intBitsToFloat(R5i.x)) * intBitsToFloat(0x3a03126f) + intBitsToFloat(PV0i.y))); -R6i.w = clampFI32(R6i.w); -} -if( activeMaskStackC[3] == true ) { -R6i.x = floatBitsToInt(texture(textureUnitPS7, vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),intBitsToFloat(R6i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R6i.x))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R5i.y)) + 1.0); -// 1 -R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R10i.z)) + intBitsToFloat(R5i.y))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R0i.x = floatBitsToInt(intBitsToFloat(R8i.x) * intBitsToFloat(0x3a83126f)); -R0i.y = floatBitsToInt(intBitsToFloat(R8i.z) * intBitsToFloat(0x3a83126f)); -R127i.z = floatBitsToInt(intBitsToFloat(R11i.w) + -(intBitsToFloat(R9i.y))); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R1i.z)),uf_blockPS6[26].x) + -(uf_blockPS6[26].y))); -R123i.w = clampFI32(R123i.w); -PV0i.w = R123i.w; -R1i.x = floatBitsToInt((intBitsToFloat(R8i.x) * intBitsToFloat(0x38d1b717) + 0.5)); -PS0i = R1i.x; -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -R1i.y = floatBitsToInt((intBitsToFloat(R8i.z) * intBitsToFloat(0x3903126f) + 0.5)); -R126i.z = floatBitsToInt(-(uf_blockPS6[27].w) + 1.0); -R2i.w = 0x3f800000; -R3i.w = floatBitsToInt(-(intBitsToFloat(R1i.z)) * intBitsToFloat(0x3ba3d70a)); -PS1i = R3i.w; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(R9i.y))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(0xbe99999a)); -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R1i.z)),uf_blockPS6[28].x) + -(uf_blockPS6[28].y))); -R123i.z = clampFI32(R123i.z); -PV0i.z = R123i.z; -R0i.w = floatBitsToInt((intBitsToFloat(0xbf59999a) * intBitsToFloat(R11i.y) + 1.0)); -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 3 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS6[27].y, intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(max(-(intBitsToFloat(PV0i.x)), intBitsToFloat(0xbf7d70a4))); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -R126i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS6[27].x, intBitsToFloat(PS0i))); -R127i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(0x40200001)); -R127i.y = clampFI32(R127i.y); -PS1i = R127i.y; -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3dcccccd)); -R123i.y = floatBitsToInt((-(intBitsToFloat(R1i.z)) * intBitsToFloat(0x3ba3d70a) + intBitsToFloat(0xbfe66666))); -PV0i.y = R123i.y; -R0i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R1i.z)),uf_blockPS6[18].x) + uf_blockPS6[17].w)); -R0i.z = clampFI32(R0i.z); -R127i.w = floatBitsToInt(intBitsToFloat(PV1i.z) + 0.5); -PV0i.w = R127i.w; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -// 5 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -R123i.y = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(0xbc996e30) + intBitsToFloat(0x3d981626))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(PS0i)) + uf_blockPS6[27].w)/2.0); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -R123i.w = clampFI32(R123i.w); -PV1i.w = R123i.w; -tempResultf = log2(intBitsToFloat(R127i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 6 -R127i.x = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(0x3dcccccd) + intBitsToFloat(PV1i.w))); -PV0i.x = R127i.x; -R2i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + 0.5); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PV1i.y)) + intBitsToFloat(0xbe593484))); -PV0i.z = R123i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS6[29].x, intBitsToFloat(PS1i))); -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 7 -PV1i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f22f983)); -R127i.y = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R9i.z))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PV0i.z)) + intBitsToFloat(0x3fc90da4))); -PV1i.w = R123i.w; -R125i.z = floatBitsToInt(exp2(intBitsToFloat(R126i.w))); -PS1i = R125i.z; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R12i.y),intBitsToFloat(R8i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS1[37].x,uf_blockPS1[37].y,uf_blockPS1[37].z,uf_blockPS1[37].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),-(intBitsToFloat(PV1i.w))) + 1.0)); -PS0i = R2i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R12i.y),intBitsToFloat(R8i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS1[35].x,uf_blockPS1[35].y,uf_blockPS1[35].z,uf_blockPS1[35].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R126i.z; -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R12i.y),intBitsToFloat(R8i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS1[36].x,uf_blockPS1[36].y,uf_blockPS1[36].z,uf_blockPS1[36].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R3i.x; -// 11 -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.y),intBitsToFloat(R13i.y)) + intBitsToFloat(R127i.z))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R126i.z))); -R1i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS6[27].z,-(intBitsToFloat(R125i.z))) + uf_blockPS6[27].z)); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(R8i.w)) + intBitsToFloat(R127i.x))); -R3i.z = floatBitsToInt(exp2(intBitsToFloat(R125i.w))); -PS1i = R3i.z; -} -if( activeMaskStackC[1] == true ) { -R0i.x = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R0i.xy),0.0).x); -R5i.xyz = floatBitsToInt(textureLod(textureUnitPS15, intBitsToFloat(R1i.xy),0.0).xyz); -R2i.xyz = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R2i.xy)).xyz); -R3i.w = floatBitsToInt(textureLod(textureUnitPS4, intBitsToFloat(R3i.xy),intBitsToFloat(R3i.w)).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.x),intBitsToFloat(R10i.x)) + intBitsToFloat(R4i.x))); -R123i.x = clampFI32(R123i.x); -PV0i.x = R123i.x; -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(R1i.w))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R0i.w))); -PV0i.z = R126i.z; -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(R1i.w))); -tempResultf = log2(intBitsToFloat(R0i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -backupReg0i = R0i.x; -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS6[18].y, intBitsToFloat(PS0i))); -R127i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(R1i.w))); -R123i.w = floatBitsToInt((intBitsToFloat(backupReg0i) * 2.0 + -(1.0))); -PV1i.w = R123i.w; -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 2 -R127i.x = floatBitsToInt(intBitsToFloat(R3i.w) + uf_blockPS10[1].z); -R127i.x = clampFI32(R127i.x); -R6i.y = 0; -R2i.z = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x41c80000) + intBitsToFloat(R12i.z))); -PV0i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS6[29].z, intBitsToFloat(PS1i))); -R125i.w = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -PS0i = R125i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(uf_blockPS6[42].x,uf_blockPS6[42].y,uf_blockPS6[42].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.w))); -// 4 -R123i.y = floatBitsToInt((mul_nonIEEE(-(uf_blockPS6[29].w),intBitsToFloat(PS1i)) + 1.0)); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), uf_blockPS6[16].w)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.x))); -R6i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.w),intBitsToFloat(R14i.z)) + intBitsToFloat(R9i.w))); -R6i.w = clampFI32(R6i.w); -PS0i = R6i.w; -// 5 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R3i.z)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -PV1i.x = R123i.x; -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.y), intBitsToFloat(PV0i.z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w))); -PV1i.z = R127i.z; -R4i.w = 0x3f800000; -// 6 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.w) + -(intBitsToFloat(PV1i.z))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS6[30].w)); -// 7 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R13i.z)) + intBitsToFloat(R127i.z))); -PV1i.y = R123i.y; -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R0i.w))); -PV1i.w = R1i.w; -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS10[3].z,intBitsToFloat(PV1i.y)) + uf_blockPS10[1].y)); -R123i.x = clampFI32(R123i.x); -PV0i.x = R123i.x; -R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),-(intBitsToFloat(PV1i.w))) + intBitsToFloat(R126i.z))); -R3i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.w)),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.y))); -// 9 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV0i.x))); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.y = floatBitsToInt(-(intBitsToFloat(R2i.z)) + uf_blockPS6[52].x); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),uf_blockPS6[15].x) + uf_blockPS6[14].w)); -R123i.x = clampFI32(R123i.x); -PV1i.x = R123i.x; -// 2 -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS6[13].w)); -// 3 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R0i.w))); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R3i.w))); -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.y)),intBitsToFloat(R3i.w)) + intBitsToFloat(R3i.w))); -PV0i.z = R123i.z; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS6[13].z, intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV0i.z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS6[13].y, intBitsToFloat(PV0i.x))); -PV1i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS6[13].x, intBitsToFloat(PV0i.x))); -R6i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R5i.y)),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.z))); -PS1i = R6i.z; -// Edit here -// intBitsToFloat(PV1i.w)*.35) -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS6[16].x,intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.w)*.35)); -PV0i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS6[16].z,intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.x)*.35)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS6[16].y,intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.z)*.35)); -PV0i.w = R123i.w; -// 7 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),intBitsToFloat(R2i.y)) + intBitsToFloat(PV0i.x)*.35)); -PV1i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(R2i.y)) + intBitsToFloat(PV0i.z)*.35)); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),intBitsToFloat(R2i.y)) + intBitsToFloat(PV0i.w)*.35)); -PV1i.w = R123i.w; -// 8 -R4i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS6[30].x,intBitsToFloat(R1i.w)) + intBitsToFloat(PV1i.x)*.35)); -PV0i.x = R4i.x; -R4i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS6[30].y,intBitsToFloat(R1i.w)) + intBitsToFloat(PV1i.w)*.35)); -PV0i.y = R4i.y; -R4i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS6[30].z,intBitsToFloat(R1i.w)) + intBitsToFloat(PV1i.z)*.35)); -PV0i.z = R4i.z; -// 9 -R1i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); -R1i.w = R4i.w; -// 10 -R0i.xyz = ivec3(R6i.x,R6i.y,R6i.z); -R0i.w = R6i.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)); -} +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +// shader 59cba7eb9a9c1df6 +// fog on water but also used by AMD_Intel shadow fix +layout(binding = 33, std140) uniform uniformBlockPS1 +{ +vec4 uf_blockPS1[1024]; +}; + +layout(binding = 38, std140) uniform uniformBlockPS6 +{ +vec4 uf_blockPS6[1024]; +}; + +layout(binding = 42, std140) uniform uniformBlockPS10 +{ +vec4 uf_blockPS10[1024]; +}; + +layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30364000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 +layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf494a800 res 1280x720x1 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: 1 +layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x23c81000 res 1024x1024x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 0 0 0 border: 1 +layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 7) uniform sampler2DArrayShadow textureUnitPS7;// Tex7 addr 0xf58a8000 res 360x360x3 dim 5 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x3) Sampler7 ClampX/Y/Z: 6 6 2 border: 2 +layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x3cfaa000 res 256x256x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0x3d0a8000 res 96x96x1 dim 1 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 6 6 6 border: 2 +layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0xf5589800 res 160x90x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x30366000 res 2000x1600x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 1 1 1 border: 1 +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem2; +layout(location = 2) in vec4 passParameterSem5; +layout(location = 3) in vec4 passParameterSem6; +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 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); +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[3]; +bool activeMaskStackC[4]; +activeMaskStack[0] = false; +activeMaskStack[1] = false; +activeMaskStackC[0] = false; +activeMaskStackC[1] = false; +activeMaskStackC[2] = false; +activeMaskStack[0] = true; +activeMaskStackC[0] = true; +activeMaskStackC[1] = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0i = floatBitsToInt(passParameterSem0); +R1i = floatBitsToInt(passParameterSem2); +R2i = floatBitsToInt(passParameterSem5); +R3i = floatBitsToInt(passParameterSem6); +if( activeMaskStackC[1] == true ) { +R4i.w = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R0i.xy)).x); +R5i.xzw = floatBitsToInt(textureGather(textureUnitPS5, intBitsToFloat(R0i.xy)).xzw); +R3i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R3i.zw)).xyzw); +R11i.xy = floatBitsToInt(texture(textureUnitPS14, intBitsToFloat(R0i.xy)).xy); +} +if( activeMaskStackC[1] == true ) { +// 0 +R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS1[16].x,intBitsToFloat(R5i.w)) + uf_blockPS1[14].x)); +PV0i.x = R123i.x; +R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS1[16].x,intBitsToFloat(R5i.z)) + uf_blockPS1[14].x)); +PV0i.y = R127i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),uf_blockPS1[16].x) + uf_blockPS1[14].x)); +PV0i.z = R123i.z; +R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS1[16].x,intBitsToFloat(R5i.x)) + uf_blockPS1[14].x)); +R5i.x = floatBitsToInt((intBitsToFloat(R3i.x) * 2.0 + -(1.0))); +PS0i = R5i.x; +// 1 +R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), -(intBitsToFloat(PV0i.z)))); +PV1i.x = R4i.x; +R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), -(intBitsToFloat(PV0i.z)))); +R1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x))); +R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), -(intBitsToFloat(PV0i.y)))); +R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), -(intBitsToFloat(PV0i.y)))); +PS1i = R125i.w; +// 2 +R127i.x = floatBitsToInt(-(intBitsToFloat(R127i.y))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS6[43].x)); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS6[45].x)); +R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), -(intBitsToFloat(R127i.w)))); +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), -(intBitsToFloat(R127i.w)))); +PS0i = R127i.y; +// 3 +backupReg0i = R127i.w; +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),uf_blockPS6[45].y) + intBitsToFloat(PV0i.z))); +PV1i.x = R123i.x; +R126i.y = floatBitsToInt(-(intBitsToFloat(R4i.x)) + intBitsToFloat(R126i.w)); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),uf_blockPS6[43].y) + intBitsToFloat(PV0i.y))); +PV1i.z = R123i.z; +R127i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i))); +R126i.x = floatBitsToInt(-(intBitsToFloat(R1i.y)) + intBitsToFloat(R125i.w)); +PS1i = R126i.x; +// 4 +backupReg0i = R127i.x; +R127i.x = floatBitsToInt(-(intBitsToFloat(R1i.z)) + intBitsToFloat(backupReg0i)); +R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS6[45].z) + intBitsToFloat(PV1i.x))); +R125i.z = floatBitsToInt(-(intBitsToFloat(R4i.x)) + intBitsToFloat(R124i.w)); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS6[43].z) + intBitsToFloat(PV1i.z))); +PV0i.w = R123i.w; +R127i.z = floatBitsToInt(-(intBitsToFloat(R1i.y)) + intBitsToFloat(R127i.y)); +PS0i = R127i.z; +// 5 +R8i.x = floatBitsToInt(uf_blockPS6[43].w + intBitsToFloat(PV0i.w)); +PV1i.x = R8i.x; +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockPS6[44].x)); +R126i.z = floatBitsToInt(-(intBitsToFloat(R1i.z)) + intBitsToFloat(R127i.w)); +PV1i.z = R126i.z; +R4i.w = floatBitsToInt((intBitsToFloat(R3i.y) * 2.0 + -(1.0))); +R5i.z = floatBitsToInt((intBitsToFloat(R3i.z) * 2.0 + -(1.0))); +PS1i = R5i.z; +// 6 +R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),uf_blockPS6[39].z) + -(uf_blockPS6[39].x))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV1i.z))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R127i.z))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(R125i.z))); +R2i.y = floatBitsToInt(intBitsToFloat(R3i.w) * intBitsToFloat(0x437f0000)); +PS0i = R2i.y; +// 7 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),uf_blockPS6[44].y) + intBitsToFloat(R127i.y))); +PV1i.x = R123i.x; +R0i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.z)),intBitsToFloat(R126i.y)) + intBitsToFloat(PV0i.w))); +R6i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.z)),intBitsToFloat(R126i.x)) + intBitsToFloat(PV0i.z))); +R5i.w = 0x3f800000; +R1i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.y))); +PS1i = R1i.x; +// 8 +R2i.x = floatBitsToInt((-(intBitsToFloat(R1i.z)) * intBitsToFloat(0x3d4ccccd) + intBitsToFloat(0xc0600000))); +R2i.x = clampFI32(R2i.x); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); +R0i.z = floatBitsToInt(-(intBitsToFloat(R1i.z)) * intBitsToFloat(0x3d4ccccd)); +PV0i.z = R0i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS6[44].z) + intBitsToFloat(PV1i.x))); +PV0i.w = R123i.w; +R9i.x = floatBitsToInt(uf_blockPS1[0].y); +PS0i = R9i.x; +// 9 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.y))); +PV1i.x = R123i.x; +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.z))); +R12i.z = floatBitsToInt(uf_blockPS6[44].w + intBitsToFloat(PV0i.w)); +PV1i.z = R12i.z; +R0i.w = floatBitsToInt((-(uf_blockPS6[53].w) * intBitsToFloat(0x3d4ccccd) + intBitsToFloat(PV0i.z))); +R0i.w = clampFI32(R0i.w); +R8i.w = R11i.x; +R8i.w = clampFI32(R8i.w); +PS1i = R8i.w; +// 10 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R4i.x)) + intBitsToFloat(PV1i.x))); +PV0i.x = R123i.x; +R12i.y = PV1i.z; +PV0i.y = R12i.y; +R8i.z = floatBitsToInt(uf_blockPS6[45].w + intBitsToFloat(R125i.y)); +PV0i.z = R8i.z; +R6i.w = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R1i.z)), uf_blockPS1[17].y)); +R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.y))); +PS0i = R122i.x; +// 11 +R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(R5i.x)) + intBitsToFloat(PS0i))); +R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),uf_blockPS6[39].z) + -(uf_blockPS6[39].y))); +R2i.z = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + uf_blockPS6[39].w); +R3i.w = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R6i.z)), -(intBitsToFloat(R6i.z)))); +R2i.w = floatBitsToInt(sqrt(intBitsToFloat(PV0i.x))); +PS1i = R2i.w; +} +if( activeMaskStackC[1] == true ) { +R3i.z = floatBitsToInt(textureLod(textureUnitPS11, intBitsToFloat(R3i.xy),0.0).x); +} +if( activeMaskStackC[1] == true ) { +// 0 +R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R0i.y)),-(intBitsToFloat(R0i.y))) + intBitsToFloat(R3i.w))); +PV0i.x = R123i.x; +R125i.y = floatBitsToInt(uf_blockPS10[2].z + 1.0); +R123i.w = floatBitsToInt((mul_nonIEEE(-(uf_blockPS6[39].w),intBitsToFloat(R3i.z)) + intBitsToFloat(R2i.z))); +PV0i.w = R123i.w; +PS0i = floatBitsToInt(1.0 / intBitsToFloat(R2i.w)); +// 1 +R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(PS0i))); +R13i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PS0i))); +PV1i.y = R13i.y; +R127i.z = floatBitsToInt(intBitsToFloat(PV0i.w) * 0.25); +R127i.z = clampFI32(R127i.z); +PV1i.z = R127i.z; +R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R1i.x)),-(intBitsToFloat(R1i.x))) + intBitsToFloat(PV0i.x))); +R9i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS0i))); +PS1i = R9i.z; +// 2 +PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); +R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.y)),intBitsToFloat(PV1i.y)) + 1.0)); +PV0i.y = R123i.y; +R13i.z = floatBitsToInt(-(intBitsToFloat(R0i.w)) + intBitsToFloat(R125i.y)); +R13i.z = clampFI32(R13i.z); +R10i.z = floatBitsToInt((-(uf_blockPS6[53].z) * intBitsToFloat(0x3d4ccccd) + intBitsToFloat(R0i.z))); +R10i.z = clampFI32(R10i.z); +PS0i = R10i.z; +// 3 +R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); +PV1i.y = R123i.y; +R14i.z = floatBitsToInt(intBitsToFloat(R2i.x) + uf_blockPS10[3].y); +tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.y)); +R0i.z = floatBitsToInt(tempResultf); +PS1i = R0i.z; +// 4 +R9i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); +PV0i.w = R9i.w; +PS0i = int(intBitsToFloat(R2i.y)); +// 5 +PV1i.w = PS0i & int(1); +R10i.w = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); +PS1i = R10i.w; +// 6 +R7i.z = ((PV1i.w == 0)?(0):(0x3f800000)); +tempResultf = 1.0 / sqrt(intBitsToFloat(R0i.x)); +PS0i = floatBitsToInt(tempResultf); +// 7 +R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PS0i))); +R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(PS0i))); +R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS0i))); +R4i.w = floatBitsToInt(uf_blockPS10[2].w); +tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.w)); +R0i.w = floatBitsToInt(tempResultf); +PS1i = R0i.w; +} +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +R11i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS6[4].x, intBitsToFloat(R4i.w))); +PV0i.x = R11i.x; +R14i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS6[4].y, intBitsToFloat(R4i.w))); +PV0i.y = R14i.y; +R3i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS6[4].z, intBitsToFloat(R4i.w))); +PV0i.z = R3i.z; +R3i.w = 0; +// 1 +R127i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.y)),intBitsToFloat(PV0i.y)) + 1.0)); +R2i.y = PV0i.z; +PV1i.y = R2i.y; +R2i.z = 0; +PV1i.z = R2i.z; +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(PV0i.z))); +R0i.x = PV0i.x; +PS1i = R0i.x; +// 2 +R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R9i.z),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(PS1i),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); +PV0i.x = R126i.x; +PV0i.y = R126i.x; +PV0i.z = R126i.x; +PV0i.w = R126i.x; +R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.y),intBitsToFloat(R14i.y)) + intBitsToFloat(PV1i.w))); +PS0i = R122i.x; +// 3 +R10i.y = floatBitsToInt(uf_blockPS1[1].y); +R11i.z = floatBitsToInt(uf_blockPS1[2].y); +R11i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),intBitsToFloat(R11i.x)) + intBitsToFloat(PS0i))); +tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.x)); +PS1i = floatBitsToInt(tempResultf); +// 4 +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R0i.z))); +// 5 +R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R126i.x))); +// 6 +predResult = (1.0 > intBitsToFloat(R10i.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(R3i.x) * 1.5); +PV0i.y = ((-(intBitsToFloat(R1i.z)) > uf_blockPS1[58].x)?int(0xFFFFFFFF):int(0x0)); +R127i.z = ((-(intBitsToFloat(R1i.z)) > uf_blockPS1[58].y)?int(0xFFFFFFFF):int(0x0)); +PV0i.w = floatBitsToInt(intBitsToFloat(R8i.y) * 1.5); +PS0i = floatBitsToInt(intBitsToFloat(R4i.z) * 1.5); +// 1 +PV1i.x = PV0i.y & int(1); +R2i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R1i.x)),intBitsToFloat(R0i.w)) + intBitsToFloat(PV0i.x))); +R2i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R0i.y)),intBitsToFloat(R0i.w)) + intBitsToFloat(PV0i.w))); +R2i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R6i.z)),intBitsToFloat(R0i.w)) + intBitsToFloat(PS0i))); +PV1i.w = R2i.w; +R122i.x = floatBitsToInt((intBitsToFloat(R6i.w) * 0.25 + 1.0)); +PS1i = R122i.x; +// 2 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PV1i.w))); +R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(PS1i))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), -(intBitsToFloat(R3i.w)))); +R12i.w = PV1i.x - R127i.z; +PV0i.w = R12i.w; +PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), intBitsToFloat(R8i.y))); +// 3 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(R2i.z)) + intBitsToFloat(PV0i.x))); +PV1i.x = R123i.x; +R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),-(intBitsToFloat(R14i.y))) + intBitsToFloat(PV0i.z))); +PV1i.z = PV0i.w << 0x00000002; +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.z),intBitsToFloat(R4i.z)) + intBitsToFloat(PS0i))); +PS1i = R127i.x; +// 4 +R0i.x = PV1i.z + 0x0000002b; +R0i.y = PV1i.z + 0x0000002a; +R0i.z = PV1i.z + 0x0000002d; +R0i.w = PV1i.z + 0x0000002c; +R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(R2i.y)) + intBitsToFloat(PV1i.x))); +PS0i = R122i.x; +// 5 +R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),-(intBitsToFloat(R3i.z))) + intBitsToFloat(R127i.y))); +R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.x),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.x))); +tempResultf = 1.0 / sqrt(intBitsToFloat(PS0i)); +R3i.w = floatBitsToInt(tempResultf); +PS1i = R3i.w; +} +if( activeMaskStackC[2] == true ) { +R5i.xyzw = floatBitsToInt(uf_blockPS1[R0i.z].xyzw); +R6i.xyzw = floatBitsToInt(uf_blockPS1[R0i.w].xyzw); +R7i.xyzw = floatBitsToInt(uf_blockPS1[R0i.y].xyzw); +R0i.xyzw = floatBitsToInt(uf_blockPS1[R0i.x].xyzw); +} +if( activeMaskStackC[2] == true ) { +// 0 +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(R3i.w))); +PV0i.x = R127i.x; +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(R3i.w))); +PV0i.y = R127i.y; +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(R3i.w))); +PV0i.z = R127i.z; +R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),-(intBitsToFloat(R11i.x))) + intBitsToFloat(R2i.x))); +R127i.w = clampFI32(R127i.w); +R125i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R11i.z)),intBitsToFloat(R3i.y)) + intBitsToFloat(R4i.z))); +PS0i = R125i.z; +// 1 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R14i.y),intBitsToFloat(R3i.z),-0.0),vec4(intBitsToFloat(PV0i.x),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 = tempi.x; +R122i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R9i.x)),intBitsToFloat(R3i.y)) + intBitsToFloat(R3i.x))); +PS1i = R122i.x; +// 2 +backupReg0i = R127i.z; +R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R11i.x)),intBitsToFloat(PV1i.x)) + intBitsToFloat(R127i.x))); +PV0i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(PV1i.x)) + 1.0)); +PV0i.y = R123i.y; +R127i.z = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(0x3f19999a) + intBitsToFloat(R4i.x))); +R126i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R10i.y)),intBitsToFloat(R3i.y)) + intBitsToFloat(R8i.y))); +R122i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R3i.z)),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); +PS0i = R122i.x; +// 3 +backupReg0i = R126i.z; +backupReg1i = R127i.y; +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R127i.w))); +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PV0i.x))); +R126i.z = floatBitsToInt((intBitsToFloat(R125i.z) * intBitsToFloat(0x3f19999a) + intBitsToFloat(R1i.z))); +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R14i.y)),intBitsToFloat(backupReg0i)) + intBitsToFloat(backupReg1i))); +PV1i.w = R123i.w; +R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PS0i))); +PS1i = R127i.w; +// 4 +R123i.x = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(0x3f19999a) + intBitsToFloat(R1i.y))); +PV0i.x = R123i.x; +PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3da1ff2e)); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PV1i.w))); +R125i.z = floatBitsToInt(float(R12i.w)); +PS0i = R125i.z; +// 5 +R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(R127i.z))); +PV1i.x = R1i.x; +R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.x))); +R15i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PV0i.z)) + intBitsToFloat(R126i.z))); +R4i.z = floatBitsToInt(roundEven(intBitsToFloat(PS0i))); +PS1i = R4i.z; +// 6 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R6i.x))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R5i.x))); +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); +// 7 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R5i.y)) + intBitsToFloat(PV0i.y))); +PV1i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R6i.y)) + intBitsToFloat(PV0i.x))); +PV1i.y = R123i.y; +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R0i.x))); +// 8 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.z),intBitsToFloat(R6i.z)) + intBitsToFloat(PV1i.y))); +PV0i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R0i.y)) + intBitsToFloat(PV1i.z))); +PV0i.y = R123i.y; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.z),intBitsToFloat(R5i.z)) + intBitsToFloat(PV1i.x))); +PV0i.w = R123i.w; +// 9 +backupReg0i = R0i.z; +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R7i.y)) + intBitsToFloat(R127i.z))); +PV1i.x = R123i.x; +R127i.y = floatBitsToInt(intBitsToFloat(R6i.w) + intBitsToFloat(PV0i.x)); +PV1i.z = floatBitsToInt(intBitsToFloat(R5i.w) + intBitsToFloat(PV0i.w)); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.z),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.y))); +PV1i.w = R123i.w; +// 10 +PV0i.z = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(PV1i.w)); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.z),intBitsToFloat(R7i.z)) + intBitsToFloat(PV1i.x))); +PV0i.w = R123i.w; +R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.z)); +PS0i = R126i.y; +// 11 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); +R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PS0i))); +PV1i.z = floatBitsToInt(intBitsToFloat(R7i.w) + intBitsToFloat(PV0i.w)); +// 12 +R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R126i.y))); +PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(0xbb03126f)); +// 13 +R4i.w = floatBitsToInt((-(intBitsToFloat(R125i.z)) * intBitsToFloat(0x3a03126f) + intBitsToFloat(PV0i.w))); +R4i.w = clampFI32(R4i.w); +} +if( activeMaskStackC[2] == true ) { +R5i.y = floatBitsToInt(texture(textureUnitPS7, vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),intBitsToFloat(R4i.w)))); +} +if( activeMaskStackC[2] == true ) { +activeMaskStack[2] = activeMaskStack[1]; +activeMaskStackC[3] = activeMaskStackC[2]; +// 0 +PV0i.x = ((1.0 > intBitsToFloat(R5i.y))?int(0xFFFFFFFF):int(0x0)); +// 1 +R0i.y = ((R12i.w > 0)?(PV0i.x):(0)); +// 2 +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 +PV0i.w = int(-1) + R12i.w; +// 1 +PV1i.z = PV0i.w << 0x00000002; +R5i.x = floatBitsToInt(float(PV0i.w)); +PS1i = R5i.x; +// 2 +R0i.x = PV1i.z + 0x0000002b; +R0i.y = PV1i.z + 0x0000002a; +R0i.z = PV1i.z + 0x0000002d; +R0i.w = PV1i.z + 0x0000002c; +R6i.z = floatBitsToInt(roundEven(intBitsToFloat(PS1i))); +PS0i = R6i.z; +} +if( activeMaskStackC[3] == true ) { +R2i.xyzw = floatBitsToInt(uf_blockPS1[R0i.z].xyzw); +R3i.xyzw = floatBitsToInt(uf_blockPS1[R0i.w].xyzw); +R4i.xyzw = floatBitsToInt(uf_blockPS1[R0i.y].xyzw); +R0i.xyzw = floatBitsToInt(uf_blockPS1[R0i.x].xyzw); +} +if( activeMaskStackC[3] == true ) { +// 0 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R3i.x))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R2i.x))); +// 1 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R2i.y)) + intBitsToFloat(PV0i.y))); +PV1i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R3i.y)) + intBitsToFloat(PV0i.x))); +PV1i.y = R123i.y; +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R4i.x))); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R0i.x))); +// 2 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.z),intBitsToFloat(R3i.z)) + intBitsToFloat(PV1i.y))); +PV0i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R4i.y)) + intBitsToFloat(PV1i.z))); +PV0i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R0i.y)) + intBitsToFloat(PV1i.w))); +PV0i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.z),intBitsToFloat(R2i.z)) + intBitsToFloat(PV1i.x))); +PV0i.w = R123i.w; +// 3 +R127i.x = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(PV0i.x)); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.z),intBitsToFloat(R0i.z)) + intBitsToFloat(PV0i.z))); +PV1i.y = R123i.y; +PV1i.z = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R15i.z),intBitsToFloat(R4i.z)) + intBitsToFloat(PV0i.y))); +PV1i.w = R123i.w; +// 4 +PV0i.x = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(PV1i.y)); +PV0i.z = floatBitsToInt(intBitsToFloat(R4i.w) + intBitsToFloat(PV1i.w)); +PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.z)); +// 5 +R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PS0i))); +R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); +// 6 +PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(0xbb03126f)); +// 7 +R6i.w = floatBitsToInt((-(intBitsToFloat(R5i.x)) * intBitsToFloat(0x3a03126f) + intBitsToFloat(PV0i.y))); +R6i.w = clampFI32(R6i.w); +} +if( activeMaskStackC[3] == true ) { +R6i.x = floatBitsToInt(texture(textureUnitPS7, vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),intBitsToFloat(R6i.w)))); +} +if( activeMaskStackC[3] == true ) { +// 0 +backupReg0i = R5i.y; +R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R6i.x))); +} +activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; +if( activeMaskStackC[2] == true ) { +// 0 +PV0i.x = floatBitsToInt(-(intBitsToFloat(R5i.y)) + 1.0); +// 1 +R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R10i.z)) + intBitsToFloat(R5i.y))); +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +if( activeMaskStackC[1] == true ) { +// 0 +R0i.x = floatBitsToInt(intBitsToFloat(R8i.x) * intBitsToFloat(0x3a83126f)); +R0i.y = floatBitsToInt(intBitsToFloat(R8i.z) * intBitsToFloat(0x3a83126f)); +R127i.z = floatBitsToInt(intBitsToFloat(R11i.w) + -(intBitsToFloat(R9i.y))); +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R1i.z)),uf_blockPS6[26].x) + -(uf_blockPS6[26].y))); +R123i.w = clampFI32(R123i.w); +PV0i.w = R123i.w; +R1i.x = floatBitsToInt((intBitsToFloat(R8i.x) * intBitsToFloat(0x38d1b717) + 0.5)); +PS0i = R1i.x; +// 1 +PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); +R1i.y = floatBitsToInt((intBitsToFloat(R8i.z) * intBitsToFloat(0x3903126f) + 0.5)); +R126i.z = floatBitsToInt(-(uf_blockPS6[27].w) + 1.0); +R2i.w = 0x3f800000; +R3i.w = floatBitsToInt(-(intBitsToFloat(R1i.z)) * intBitsToFloat(0x3ba3d70a)); +PS1i = R3i.w; +// 2 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(R9i.y))); +PV0i.x = R123i.x; +PV0i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(0xbe99999a)); +R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R1i.z)),uf_blockPS6[28].x) + -(uf_blockPS6[28].y))); +R123i.z = clampFI32(R123i.z); +PV0i.z = R123i.z; +R0i.w = floatBitsToInt((intBitsToFloat(0xbf59999a) * intBitsToFloat(R11i.y) + 1.0)); +tempResultf = log2(intBitsToFloat(PV1i.x)); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS0i = floatBitsToInt(tempResultf); +// 3 +R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); +PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS6[27].y, intBitsToFloat(PS0i))); +PV1i.z = floatBitsToInt(max(-(intBitsToFloat(PV0i.x)), intBitsToFloat(0xbf7d70a4))); +PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); +R126i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS6[27].x, intBitsToFloat(PS0i))); +R127i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(0x40200001)); +R127i.y = clampFI32(R127i.y); +PS1i = R127i.y; +// 4 +PV0i.x = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3dcccccd)); +R123i.y = floatBitsToInt((-(intBitsToFloat(R1i.z)) * intBitsToFloat(0x3ba3d70a) + intBitsToFloat(0xbfe66666))); +PV0i.y = R123i.y; +R0i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R1i.z)),uf_blockPS6[18].x) + uf_blockPS6[17].w)); +R0i.z = clampFI32(R0i.z); +R127i.w = floatBitsToInt(intBitsToFloat(PV1i.z) + 0.5); +PV0i.w = R127i.w; +PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); +// 5 +PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); +R123i.y = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(0xbc996e30) + intBitsToFloat(0x3d981626))); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(PS0i)) + uf_blockPS6[27].w)/2.0); +PV1i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); +R123i.w = clampFI32(R123i.w); +PV1i.w = R123i.w; +tempResultf = log2(intBitsToFloat(R127i.x)); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS1i = floatBitsToInt(tempResultf); +// 6 +R127i.x = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(0x3dcccccd) + intBitsToFloat(PV1i.w))); +PV0i.x = R127i.x; +R2i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + 0.5); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PV1i.y)) + intBitsToFloat(0xbe593484))); +PV0i.z = R123i.z; +R125i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS6[29].x, intBitsToFloat(PS1i))); +PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); +// 7 +PV1i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f22f983)); +R127i.y = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R9i.z))); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PV0i.z)) + intBitsToFloat(0x3fc90da4))); +PV1i.w = R123i.w; +R125i.z = floatBitsToInt(exp2(intBitsToFloat(R126i.w))); +PS1i = R125i.z; +// 8 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R12i.y),intBitsToFloat(R8i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS1[37].x,uf_blockPS1[37].y,uf_blockPS1[37].z,uf_blockPS1[37].w))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),-(intBitsToFloat(PV1i.w))) + 1.0)); +PS0i = R2i.x; +// 9 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R12i.y),intBitsToFloat(R8i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS1[35].x,uf_blockPS1[35].y,uf_blockPS1[35].z,uf_blockPS1[35].w))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R126i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); +PS1i = R126i.z; +// 10 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R12i.y),intBitsToFloat(R8i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS1[36].x,uf_blockPS1[36].y,uf_blockPS1[36].z,uf_blockPS1[36].w))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); +PS0i = R3i.x; +// 11 +R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.y),intBitsToFloat(R13i.y)) + intBitsToFloat(R127i.z))); +R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R126i.z))); +R1i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS6[27].z,-(intBitsToFloat(R125i.z))) + uf_blockPS6[27].z)); +R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(R8i.w)) + intBitsToFloat(R127i.x))); +R3i.z = floatBitsToInt(exp2(intBitsToFloat(R125i.w))); +PS1i = R3i.z; +} +if( activeMaskStackC[1] == true ) { +R0i.x = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R0i.xy),0.0).x); +R5i.xyz = floatBitsToInt(textureLod(textureUnitPS15, intBitsToFloat(R1i.xy),0.0).xyz); +R2i.xyz = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R2i.xy)).xyz); +R3i.w = floatBitsToInt(textureLod(textureUnitPS4, intBitsToFloat(R3i.xy),intBitsToFloat(R3i.w)).x); +} +if( activeMaskStackC[1] == true ) { +// 0 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.x),intBitsToFloat(R10i.x)) + intBitsToFloat(R4i.x))); +R123i.x = clampFI32(R123i.x); +PV0i.x = R123i.x; +R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(R1i.w))); +R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R0i.w))); +PV0i.z = R126i.z; +R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(R1i.w))); +tempResultf = log2(intBitsToFloat(R0i.z)); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS0i = floatBitsToInt(tempResultf); +// 1 +backupReg0i = R0i.x; +PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS6[18].y, intBitsToFloat(PS0i))); +R127i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); +R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(R1i.w))); +R123i.w = floatBitsToInt((intBitsToFloat(backupReg0i) * 2.0 + -(1.0))); +PV1i.w = R123i.w; +tempResultf = log2(intBitsToFloat(PV0i.x)); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS1i = floatBitsToInt(tempResultf); +// 2 +R127i.x = floatBitsToInt(intBitsToFloat(R3i.w) + uf_blockPS10[1].z); +R127i.x = clampFI32(R127i.x); +R6i.y = 0; +R2i.z = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x41c80000) + intBitsToFloat(R12i.z))); +PV0i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS6[29].z, intBitsToFloat(PS1i))); +R125i.w = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); +PS0i = R125i.w; +// 3 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(uf_blockPS6[42].x,uf_blockPS6[42].y,uf_blockPS6[42].z,0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.w))); +// 4 +R123i.y = floatBitsToInt((mul_nonIEEE(-(uf_blockPS6[29].w),intBitsToFloat(PS1i)) + 1.0)); +PV0i.y = R123i.y; +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), uf_blockPS6[16].w)); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.x))); +R6i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.w),intBitsToFloat(R14i.z)) + intBitsToFloat(R9i.w))); +R6i.w = clampFI32(R6i.w); +PS0i = R6i.w; +// 5 +R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R3i.z)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); +PV1i.x = R123i.x; +R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.y), intBitsToFloat(PV0i.z))); +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w))); +PV1i.z = R127i.z; +R4i.w = 0x3f800000; +// 6 +PV0i.x = floatBitsToInt(intBitsToFloat(R5i.w) + -(intBitsToFloat(PV1i.z))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS6[30].w)); +// 7 +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R13i.z)) + intBitsToFloat(R127i.z))); +PV1i.y = R123i.y; +R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R0i.w))); +PV1i.w = R1i.w; +// 8 +R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS10[3].z,intBitsToFloat(PV1i.y)) + uf_blockPS10[1].y)); +R123i.x = clampFI32(R123i.x); +PV0i.x = R123i.x; +R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),-(intBitsToFloat(PV1i.w))) + intBitsToFloat(R126i.z))); +R3i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.w)),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.y))); +// 9 +R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV0i.x))); +} +if( activeMaskStackC[1] == true ) { +// 0 +PV0i.y = floatBitsToInt(-(intBitsToFloat(R2i.z)) + uf_blockPS6[52].x); +// 1 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),uf_blockPS6[15].x) + uf_blockPS6[14].w)); +R123i.x = clampFI32(R123i.x); +PV1i.x = R123i.x; +// 2 +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS6[13].w)); +// 3 +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R0i.w))); +// 4 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R3i.w))); +R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.y)),intBitsToFloat(R3i.w)) + intBitsToFloat(R3i.w))); +PV0i.z = R123i.z; +// 5 +PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS6[13].z, intBitsToFloat(PV0i.x))); +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV0i.z))); +PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS6[13].y, intBitsToFloat(PV0i.x))); +PV1i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS6[13].x, intBitsToFloat(PV0i.x))); +R6i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R5i.y)),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.z))); +PS1i = R6i.z; +// Edit here +// intBitsToFloat(PV1i.w)*.35) +// 6 +R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS6[16].x,intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.w)*.35)); +PV0i.x = R123i.x; +R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS6[16].z,intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.x)*.35)); +PV0i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS6[16].y,intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.z)*.35)); +PV0i.w = R123i.w; +// 7 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),intBitsToFloat(R2i.y)) + intBitsToFloat(PV0i.x)*.35)); +PV1i.x = R123i.x; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(R2i.y)) + intBitsToFloat(PV0i.z)*.35)); +PV1i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),intBitsToFloat(R2i.y)) + intBitsToFloat(PV0i.w)*.35)); +PV1i.w = R123i.w; +// 8 +R4i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS6[30].x,intBitsToFloat(R1i.w)) + intBitsToFloat(PV1i.x)*.35)); +PV0i.x = R4i.x; +R4i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS6[30].y,intBitsToFloat(R1i.w)) + intBitsToFloat(PV1i.w)*.35)); +PV0i.y = R4i.y; +R4i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS6[30].z,intBitsToFloat(R1i.w)) + intBitsToFloat(PV1i.z)*.35)); +PV0i.z = R4i.z; +// 9 +R1i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); +R1i.w = R4i.w; +// 10 +R0i.xyz = ivec3(R6i.x,R6i.y,R6i.z); +R0i.w = R6i.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/Workarounds/BreathOfTheWild_Intel_RemoveBloom/8d24f32f18e6de47_0000000079249749_ps.txt b/Workarounds/BreathOfTheWild_Intel_RemoveBloom/8d24f32f18e6de47_0000000079249749_ps.txt index e291ce6c..d017b5bf 100644 --- a/Workarounds/BreathOfTheWild_Intel_RemoveBloom/8d24f32f18e6de47_0000000079249749_ps.txt +++ b/Workarounds/BreathOfTheWild_Intel_RemoveBloom/8d24f32f18e6de47_0000000079249749_ps.txt @@ -1,646 +1,646 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 8d24f32f18e6de47 -// fog over a mojority of the ground -uniform ivec4 uf_remappedPS[10]; -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a 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 0xf494a800 res 1280x720x1 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: 1 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 7) uniform sampler2D textureUnitPS7;// Tex7 addr 0xf5846000 res 640x360x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler7 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 8) uniform samplerCubeArray textureUnitPS8;// Tex8 addr 0x3d0ea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x6) Sampler8 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 10) uniform sampler2DArray textureUnitPS10;// Tex10 addr 0xf5593000 res 640x360x2 dim 5 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x2) Sampler10 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0xf575f800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0xf5977800 res 640x360x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 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 passParameterSem3; -layout(location = 3) in vec4 passParameterSem4; -layout(location = 4) in vec4 passParameterSem6; -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 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; -float cubeMapArrayIndex8 = 0.0; -R0i = floatBitsToInt(passParameterSem0); -R1i = floatBitsToInt(passParameterSem1); -R2i = floatBitsToInt(passParameterSem3); -R3i = floatBitsToInt(passParameterSem4); -R4i = floatBitsToInt(passParameterSem6); -R7i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R4i.zw)).xyzw); -R2i.w = floatBitsToInt(texture(textureUnitPS4, intBitsToFloat(R0i.xy)).x); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS6, intBitsToFloat(R0i.xy)).xyzw); -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS7, intBitsToFloat(R0i.xy)).xyzw); -R8i.xyzw = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R4i.zw)).xyzw); -// 0 -R127i.x = floatBitsToInt((intBitsToFloat(R7i.x) * 2.0 + -(1.0))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt((intBitsToFloat(R7i.y) * 2.0 + -(1.0))); -PV0i.y = R127i.y; -R126i.z = floatBitsToInt((intBitsToFloat(R7i.z) * 2.0 + -(1.0))); -PV0i.z = R126i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(uf_remappedPS[0].x)) + intBitsToFloat(uf_remappedPS[1].x))); -PV0i.w = R127i.w; -R127i.z = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(R5i.x)); -PS0i = 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; -R9i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w))); -PS1i = R9i.z; -// 2 -R11i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), -(intBitsToFloat(R127i.w)))); -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), -(intBitsToFloat(R127i.w)))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(uf_remappedPS[2].y))); -R125i.w = floatBitsToInt(max(intBitsToFloat(R127i.z), -(intBitsToFloat(R127i.z)))); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -R126i.y = floatBitsToInt(tempResultf); -PS0i = R126i.y; -// 3 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); -PV1i.x = R4i.x; -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R127i.z = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(R5i.y)); -R126i.w = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(R5i.z)); -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); -PS1i = R127i.w; -// 4 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R11i.y),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R11i.y),intBitsToFloat(R9i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); -PS0i = R9i.x; -// 5 -backupReg0i = R127i.z; -backupReg0i = R127i.z; -R126i.x = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(R5i.w)); -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(R4i.y)) + intBitsToFloat(R0i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].x), intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt(max(intBitsToFloat(backupReg0i), -(intBitsToFloat(backupReg0i)))); -PS1i = floatBitsToInt(sqrt(intBitsToFloat(PV0i.x))); -// 6 -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(0x3eaaaaab),intBitsToFloat(0x3eaaaaab),intBitsToFloat(0x3eaaaaab),0.0))); -PV0i.x = R127i.x; -PV0i.y = R127i.x; -PV0i.z = R127i.x; -PV0i.w = R127i.x; -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PS1i)); -// 7 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.x), intBitsToFloat(PS0i))); -R12i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.y), intBitsToFloat(PS0i))); -R11i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R6i.x)); -R125i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R6i.y)); -PS1i = R125i.x; -// 8 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(max(intBitsToFloat(R126i.w), -(intBitsToFloat(R126i.w)))); -PV0i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(R6i.w)); -R125i.z = floatBitsToInt(max(intBitsToFloat(R126i.x), -(intBitsToFloat(R126i.x)))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(R6i.z)); -PS0i = floatBitsToInt(max(intBitsToFloat(PV1i.w), -(intBitsToFloat(PV1i.w)))); -PS0i = floatBitsToInt(intBitsToFloat(PS0i) * 4.0); -// 9 -backupReg0i = R126i.z; -PV1i.x = floatBitsToInt(max(intBitsToFloat(R125i.x), -(intBitsToFloat(R125i.x)))); -PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 4.0); -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.y), -(intBitsToFloat(PV0i.y)))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 4.0); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R125i.w)) + intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.w), -(intBitsToFloat(PV0i.w)))); -PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 4.0); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.y))); -PS1i = R5i.z; -// 10 -backupReg0i = R127i.z; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R125i.z)) + intBitsToFloat(PV1i.y))); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt(fract(intBitsToFloat(R3i.x))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -R125i.x = floatBitsToInt(fract(intBitsToFloat(R3i.y))); -PS0i = R125i.x; -// 11 -R127i.x = floatBitsToInt(intBitsToFloat(R126i.z) + -(intBitsToFloat(PV0i.w))); -PV1i.x = R127i.x; -R126i.y = R4i.x; -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) * 2.0); -R126i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.y)); -PV1i.z = R126i.z; -R127i.w = R4i.y; -R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); -R125i.w = R5i.z; -R125i.w = floatBitsToInt(intBitsToFloat(R125i.w) * 2.0); -PS1i = R125i.w; -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R12i.y),intBitsToFloat(R11i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.x)); -// 13 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R126i.y)) + intBitsToFloat(R5i.x))); -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.z) + -(intBitsToFloat(backupReg0i))); -R126i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R127i.w)) + intBitsToFloat(R12i.y))); -PV1i.w = floatBitsToInt(intBitsToFloat(PS0i) + intBitsToFloat(R127i.z)); -PV1i.w = clampFI32(PV1i.w); -R125i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R125i.w)) + intBitsToFloat(R11i.z))); -PS1i = R125i.z; -// 14 -R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R9i.x)) + intBitsToFloat(R1i.z))); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R125i.x)); -PV0i.y = clampFI32(PV0i.y); -R10i.z = floatBitsToInt(roundEven(0.0)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PV1i.w)); -R2i.w = floatBitsToInt((-(intBitsToFloat(R7i.w)) * intBitsToFloat(0x40400000) + intBitsToFloat(0x40400000))); -PS0i = R2i.w; -// 15 -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(R0i.x))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R9i.y)) + intBitsToFloat(R1i.w))); -R1i.z = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(uf_remappedPS[3].x)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(R125i.x)) + intBitsToFloat(PV0i.y)); -R1i.y = floatBitsToInt(intBitsToFloat(R12i.y) + intBitsToFloat(uf_remappedPS[3].y)); -PS1i = R1i.y; -// 16 -R125i.x = floatBitsToInt(max(-(intBitsToFloat(R127i.y)), 0.0)); -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(PV1i.w)) + intBitsToFloat(R0i.y))); -R3i.z = floatBitsToInt(intBitsToFloat(R11i.z) + intBitsToFloat(uf_remappedPS[3].z)); -R127i.w = floatBitsToInt(intBitsToFloat(R8i.w) * intBitsToFloat(0x437f0000)); -R6i.z = floatBitsToInt(-(intBitsToFloat(R7i.w)) + 1.0); -PS0i = R6i.z; -// 17 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[4].x),intBitsToFloat(uf_remappedPS[4].y),intBitsToFloat(uf_remappedPS[4].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.z),intBitsToFloat(R125i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.w = 0; -PS1i = R1i.w; -// 18 -R124i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[5].x),intBitsToFloat(uf_remappedPS[5].y),intBitsToFloat(uf_remappedPS[5].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.z),intBitsToFloat(R125i.z),0.0))); -PV0i.x = R124i.x; -PV0i.y = R124i.x; -PV0i.z = R124i.x; -PV0i.w = R124i.x; -R124i.z = floatBitsToInt(-(intBitsToFloat(PV1i.x))); -PS0i = R124i.z; -// 19 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.z),intBitsToFloat(R125i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.y = tempi.x; -R4i.z = int(intBitsToFloat(R127i.w)); -PS1i = R4i.z; -// 20 -redcCUBE(vec4(intBitsToFloat(R124i.z),intBitsToFloat(R124i.z),intBitsToFloat(R124i.x),intBitsToFloat(PV1i.x)),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(R124i.x),intBitsToFloat(R124i.z),intBitsToFloat(R124i.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; -R6i.y = floatBitsToInt(min(intBitsToFloat(R125i.x), 1.0)); -PS0i = R6i.y; -// 21 -R1i.x = 0; -R3i.y = floatBitsToInt(intBitsToFloat(R7i.w) * intBitsToFloat(0x437f0000)); -R2i.z = PV0i.w; -R3i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R7i.w)),intBitsToFloat(R6i.z)) + intBitsToFloat(R6i.z))); -R3i.x = floatBitsToInt(1.0 / abs(intBitsToFloat(PV0i.z))); -PS1i = R3i.x; -// 0 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].x), intBitsToFloat(uf_remappedPS[7].w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y), intBitsToFloat(uf_remappedPS[7].w))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),intBitsToFloat(R3i.x)) + 1.5)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(R3i.x)) + 1.5)); -PV0i.w = R123i.w; -R124i.y = R4i.z & 0x000000fc; -PS0i = R124i.y; -// 1 -R2i.x = PV0i.w; -R2i.y = PV0i.z; -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z), intBitsToFloat(uf_remappedPS[7].w))); -R127i.w = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(0x3c23d70a)); -R127i.w = clampFI32(R127i.w); -R125i.w = floatBitsToInt(-(intBitsToFloat(R6i.y)) + 1.0); -PS1i = R125i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.z),intBitsToFloat(R1i.y),intBitsToFloat(R3i.z),-0.0),vec4(intBitsToFloat(R1i.z),intBitsToFloat(R1i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = int(intBitsToFloat(R3i.y)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R5i.z),intBitsToFloat(R5i.z)),vec4(-(intBitsToFloat(R125i.x)),-(intBitsToFloat(R126i.y)),-(intBitsToFloat(R124i.z)),-(intBitsToFloat(R1i.x))))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PS1i))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.w))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PS1i))); -R127i.x = floatBitsToInt(float(R124i.y)); -PS0i = R127i.x; -// 5 -backupReg0i = R125i.w; -backupReg0i = R125i.w; -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[7].w))); -PV1i.x = R124i.x; -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[7].w))); -PV1i.y = R124i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[7].w))); -PV1i.z = R126i.z; -R125i.w = floatBitsToInt((intBitsToFloat(R6i.z) * 0.5 + 0.5)); -R125i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R6i.y)),intBitsToFloat(backupReg0i)) + intBitsToFloat(backupReg0i))); -PS1i = R125i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R5i.z),intBitsToFloat(R5i.z)),vec4(-(intBitsToFloat(PV1i.x)),-(intBitsToFloat(PV1i.y)),-(intBitsToFloat(PV1i.z)),-(intBitsToFloat(R1i.w))))); -tempi.x = clampFI32(tempi.x); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.x = R127i.y & int(1); -PS0i = R126i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R125i.x)),-(intBitsToFloat(R126i.y)),-(intBitsToFloat(R124i.z)),-0.0),vec4(-(intBitsToFloat(R124i.x)),-(intBitsToFloat(R124i.y)),-(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; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -// 8 -R1i.x = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(0x3b820821)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(R125i.w))); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) / 2.0); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS1i)) + -(intBitsToFloat(PS1i)))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -R122i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R6i.y)),intBitsToFloat(R125i.z)) + intBitsToFloat(R125i.z))); -PS0i = R122i.x; -// 9 -backupReg0i = R126i.x; -R126i.x = R126i.w; -R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) * 2.0); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PS0i))); -R125i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.w))); -PV1i.z = R125i.z; -R125i.w = floatBitsToInt((-(intBitsToFloat(R7i.w)) * intBitsToFloat(0x40400000) + 4.0)); -R124i.y = ((backupReg0i == 0)?(0):(0x3f800000)); -PS1i = R124i.y; -// 10 -backupReg0i = R127i.w; -R7i.x = R126i.w; -R7i.x = clampFI32(R7i.x); -PV0i.y = floatBitsToInt(intBitsToFloat(R126i.z) + 1.0); -R124i.z = floatBitsToInt((-(intBitsToFloat(R1i.x)) * intBitsToFloat(0x3d23d70a) + intBitsToFloat(0x3d23d70a))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(R6i.y))); -R122i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(backupReg0i)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PS0i = R122i.x; -// 11 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PS0i))); -R7i.z = floatBitsToInt((intBitsToFloat(R1i.x) * 0.25 + 0.25)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(backupReg0i))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(R125i.w)); -// 12 -backupReg0i = R124i.y; -R127i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R127i.w)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS1i))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.w))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),-(intBitsToFloat(R127i.y))) + intBitsToFloat(R7i.x))); -PV0i.w = R123i.w; -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(R1i.x)) + intBitsToFloat(R124i.z))); -PS0i = R125i.x; -// 13 -backupReg0i = R127i.y; -backupReg1i = R126i.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[7].w), intBitsToFloat(uf_remappedPS[7].w))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R1i.x)) + intBitsToFloat(R124i.z))); -PV1i.y = R127i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(R1i.x)) + intBitsToFloat(R124i.z))); -PV1i.z = R123i.z; -R126i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.w)); -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(backupReg1i)); -PS1i = R127i.w; -// 14 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),-(intBitsToFloat(R125i.y))) + intBitsToFloat(PV1i.z))); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),-(intBitsToFloat(R124i.y))) + intBitsToFloat(PV1i.z))); -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),-(intBitsToFloat(R125i.y))) + intBitsToFloat(R125i.x))); -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),-(intBitsToFloat(R125i.y))) + intBitsToFloat(PV1i.y))); -R6i.y = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); -PS0i = R6i.y; -// 15 -backupReg0i = R126i.x; -backupReg0i = R126i.x; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),-(intBitsToFloat(R124i.y))) + intBitsToFloat(R125i.x))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),-(intBitsToFloat(R124i.y))) + intBitsToFloat(R127i.y))); -PV1i.y = R123i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.w))); -R7i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(backupReg0i))); -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(R126i.w)); -PS1i = R127i.z; -// 16 -backupReg0i = R127i.x; -backupReg1i = R126i.y; -R127i.x = floatBitsToInt(intBitsToFloat(R125i.y) + intBitsToFloat(R125i.w)); -R126i.y = floatBitsToInt(intBitsToFloat(R125i.y) + intBitsToFloat(backupReg0i)); -R5i.z = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(backupReg1i)); -R125i.w = floatBitsToInt(intBitsToFloat(R125i.y) + intBitsToFloat(R124i.z)); -R6i.z = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(PV1i.y)); -PS0i = R6i.z; -// 17 -PV1i.x = floatBitsToInt(0.25 * intBitsToFloat(R6i.y)); -R6i.y = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(R126i.x)); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R126i.z))); -R3i.w = floatBitsToInt((intBitsToFloat(R8i.x) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); -R3i.w = clampFI32(R3i.w); -R0i.w = floatBitsToInt((intBitsToFloat(R8i.y) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); -R0i.w = clampFI32(R0i.w); -PS1i = R0i.w; -// 18 -R0i.x = floatBitsToInt((intBitsToFloat(R8i.z) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); -R0i.x = clampFI32(R0i.x); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PV1i.x))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV1i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV1i.x))); -PS0i = R4i.z & int(1); -// 19 -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].x), intBitsToFloat(PV0i.w))); -R8i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].z), intBitsToFloat(PV0i.y))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].y), intBitsToFloat(PV0i.z))); -R3i.z = floatBitsToInt(float(PS0i)); -PS1i = R3i.z; -// 20 -R4i.x = R10i.x; -R4i.y = R10i.y; -R4i.z = floatBitsToInt(roundEven(1.0)); -R8i.w = floatBitsToInt(texture(textureUnitPS4, intBitsToFloat(R9i.xy)).x); -R12i.xzw = floatBitsToInt(texture(textureUnitPS11, intBitsToFloat(R10i.xy)).xzw); -R13i.xyz = floatBitsToInt(texture(textureUnitPS10, vec3(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z))).xyz); -R4i.xyz = floatBitsToInt(texture(textureUnitPS10, vec3(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z))).xyz); -R2i.xyz = floatBitsToInt(textureLod(textureUnitPS8, vec4(redcCUBEReverse(intBitsToFloat(R2i.xy),R2i.z),cubeMapArrayIndex8),intBitsToFloat(R2i.w)).xyz); -R10i.xyz = floatBitsToInt(texture(textureUnitPS13, intBitsToFloat(R10i.xy)).xyz); -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.w),-(intBitsToFloat(R7i.z))) + intBitsToFloat(R12i.w))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R12i.w) * 0.5 + 0.5)); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].x),intBitsToFloat(R8i.w)) + intBitsToFloat(uf_remappedPS[1].x))); -PV0i.z = R123i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), intBitsToFloat(R7i.x))); -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R12i.z))); -PS0i = R125i.x; -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.z))); -PV1i.y = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(PV0i.y)); -PV1i.y = clampFI32(PV1i.y); -PV1i.z = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(PV0i.z)), intBitsToFloat(R5i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(PV0i.z)), intBitsToFloat(R6i.x))); -R126i.x = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(PV0i.x)); -PS1i = R126i.x; -// 2 -R127i.x = floatBitsToInt(-(intBitsToFloat(R11i.x)) + intBitsToFloat(PV1i.w)); -PV0i.x = R127i.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R11i.y)) + intBitsToFloat(PV1i.z)); -PV0i.y = R126i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PV1i.x)); -R8i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PV1i.y))); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[9].x), intBitsToFloat(R125i.w))); -PS0i = R124i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R12i.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; -R127i.y = tempi.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(R5i.z))); -PS1i = R125i.y; -// 4 -backupReg0i = R126i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R5i.x)),intBitsToFloat(PV1i.x)) + intBitsToFloat(R127i.x))); -PV0i.x = R123i.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(R6i.z))); -R125i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R12i.y)),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); -// 5 -backupReg0i = R125i.y; -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(R7i.w))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(R4i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(R6i.y))); -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(R125i.w)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(R126i.y)) + intBitsToFloat(R4i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(R4i.z))); -PV0i.w = R123i.w; -// 7 -R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.w))); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.z))); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(R125i.y))); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.y)); -PS1i = floatBitsToInt(tempResultf); -// 8 -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -R4i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R125i.x))); -PS0i = R4i.w; -// 9 -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z), intBitsToFloat(PV0i.w))); -// 10 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3ced9168)); -PV0i.y = clampFI32(PV0i.y); -// 11 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R0i.z)) + 1.0)); -PV1i.y = R123i.y; -// 12 -backupReg0i = R1i.x; -R1i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(backupReg0i)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].x),intBitsToFloat(R8i.w)) + intBitsToFloat(R13i.x))); -PV0i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].z),intBitsToFloat(R8i.w)) + intBitsToFloat(R13i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].y),intBitsToFloat(R8i.w)) + intBitsToFloat(R13i.y))); -PV0i.w = R123i.w; -// 1 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R1i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.x))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.x))); -// 2 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R0i.w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R3i.w))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(backupReg0i))); -// 3 -R123i.x = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); -PV1i.z = R123i.z; -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV1i.x)); -PV0i.z = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV1i.z)); -// 5 lines edited r10i carries fog brightness -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(R10i.x)*.40)); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.z),intBitsToFloat(PV0i.z)) + intBitsToFloat(R10i.y)*.40)); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.z),intBitsToFloat(PV0i.y)) + intBitsToFloat(R10i.z)*.40)); -// export -passPixelColor0 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -} +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +// shader 8d24f32f18e6de47 +// fog over a mojority of the ground +uniform ivec4 uf_remappedPS[10]; +layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 041a 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 0xf494a800 res 1280x720x1 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: 1 +layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 7) uniform sampler2D textureUnitPS7;// Tex7 addr 0xf5846000 res 640x360x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler7 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 8) uniform samplerCubeArray textureUnitPS8;// Tex8 addr 0x3d0ea800 res 64x64x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x6) Sampler8 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 10) uniform sampler2DArray textureUnitPS10;// Tex10 addr 0xf5593000 res 640x360x2 dim 5 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x2) Sampler10 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 11) uniform sampler2D textureUnitPS11;// Tex11 addr 0xf575f800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler11 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0xf5977800 res 640x360x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 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 passParameterSem3; +layout(location = 3) in vec4 passParameterSem4; +layout(location = 4) in vec4 passParameterSem6; +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 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; +float cubeMapArrayIndex8 = 0.0; +R0i = floatBitsToInt(passParameterSem0); +R1i = floatBitsToInt(passParameterSem1); +R2i = floatBitsToInt(passParameterSem3); +R3i = floatBitsToInt(passParameterSem4); +R4i = floatBitsToInt(passParameterSem6); +R7i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R4i.zw)).xyzw); +R2i.w = floatBitsToInt(texture(textureUnitPS4, intBitsToFloat(R0i.xy)).x); +R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS6, intBitsToFloat(R0i.xy)).xyzw); +R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS7, intBitsToFloat(R0i.xy)).xyzw); +R8i.xyzw = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R4i.zw)).xyzw); +// 0 +R127i.x = floatBitsToInt((intBitsToFloat(R7i.x) * 2.0 + -(1.0))); +PV0i.x = R127i.x; +R127i.y = floatBitsToInt((intBitsToFloat(R7i.y) * 2.0 + -(1.0))); +PV0i.y = R127i.y; +R126i.z = floatBitsToInt((intBitsToFloat(R7i.z) * 2.0 + -(1.0))); +PV0i.z = R126i.z; +R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(uf_remappedPS[0].x)) + intBitsToFloat(uf_remappedPS[1].x))); +PV0i.w = R127i.w; +R127i.z = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(R5i.x)); +PS0i = 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; +R9i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w))); +PS1i = R9i.z; +// 2 +R11i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), -(intBitsToFloat(R127i.w)))); +R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), -(intBitsToFloat(R127i.w)))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(uf_remappedPS[2].y))); +R125i.w = floatBitsToInt(max(intBitsToFloat(R127i.z), -(intBitsToFloat(R127i.z)))); +tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); +R126i.y = floatBitsToInt(tempResultf); +PS0i = R126i.y; +// 3 +R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); +PV1i.x = R4i.x; +R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); +R127i.z = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(R5i.y)); +R126i.w = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(R5i.z)); +R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); +R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); +PS1i = R127i.w; +// 4 +backupReg0i = R0i.x; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R11i.y),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R11i.y),intBitsToFloat(R9i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); +PS0i = R9i.x; +// 5 +backupReg0i = R127i.z; +backupReg0i = R127i.z; +R126i.x = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(R5i.w)); +R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(R4i.y)) + intBitsToFloat(R0i.y))); +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].x), intBitsToFloat(R127i.w))); +R127i.w = floatBitsToInt(max(intBitsToFloat(backupReg0i), -(intBitsToFloat(backupReg0i)))); +PS1i = floatBitsToInt(sqrt(intBitsToFloat(PV0i.x))); +// 6 +R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(0x3eaaaaab),intBitsToFloat(0x3eaaaaab),intBitsToFloat(0x3eaaaaab),0.0))); +PV0i.x = R127i.x; +PV0i.y = R127i.x; +PV0i.z = R127i.x; +PV0i.w = R127i.x; +PS0i = floatBitsToInt(1.0 / intBitsToFloat(PS1i)); +// 7 +R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.x), intBitsToFloat(PS0i))); +R12i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.y), intBitsToFloat(PS0i))); +R11i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(PS0i))); +PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R6i.x)); +R125i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R6i.y)); +PS1i = R125i.x; +// 8 +backupReg0i = R127i.x; +backupReg0i = R127i.x; +R127i.x = floatBitsToInt(max(intBitsToFloat(R126i.w), -(intBitsToFloat(R126i.w)))); +PV0i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(R6i.w)); +R125i.z = floatBitsToInt(max(intBitsToFloat(R126i.x), -(intBitsToFloat(R126i.x)))); +PV0i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(R6i.z)); +PS0i = floatBitsToInt(max(intBitsToFloat(PV1i.w), -(intBitsToFloat(PV1i.w)))); +PS0i = floatBitsToInt(intBitsToFloat(PS0i) * 4.0); +// 9 +backupReg0i = R126i.z; +PV1i.x = floatBitsToInt(max(intBitsToFloat(R125i.x), -(intBitsToFloat(R125i.x)))); +PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 4.0); +PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.y), -(intBitsToFloat(PV0i.y)))); +PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 4.0); +R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R125i.w)) + intBitsToFloat(PS0i))); +PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.w), -(intBitsToFloat(PV0i.w)))); +PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 4.0); +R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.y))); +PS1i = R5i.z; +// 10 +backupReg0i = R127i.z; +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(PV1i.x))); +PV0i.x = R123i.x; +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R125i.z)) + intBitsToFloat(PV1i.y))); +PV0i.y = R123i.y; +R127i.z = floatBitsToInt(fract(intBitsToFloat(R3i.x))); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.w))); +PV0i.w = R123i.w; +R125i.x = floatBitsToInt(fract(intBitsToFloat(R3i.y))); +PS0i = R125i.x; +// 11 +R127i.x = floatBitsToInt(intBitsToFloat(R126i.z) + -(intBitsToFloat(PV0i.w))); +PV1i.x = R127i.x; +R126i.y = R4i.x; +R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) * 2.0); +R126i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.y)); +PV1i.z = R126i.z; +R127i.w = R4i.y; +R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); +R125i.w = R5i.z; +R125i.w = floatBitsToInt(intBitsToFloat(R125i.w) * 2.0); +PS1i = R125i.w; +// 12 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R12i.y),intBitsToFloat(R11i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R127i.y = tempi.x; +PS0i = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.x)); +// 13 +backupReg0i = R127i.x; +R127i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R126i.y)) + intBitsToFloat(R5i.x))); +PV1i.y = floatBitsToInt(intBitsToFloat(R126i.z) + -(intBitsToFloat(backupReg0i))); +R126i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R127i.w)) + intBitsToFloat(R12i.y))); +PV1i.w = floatBitsToInt(intBitsToFloat(PS0i) + intBitsToFloat(R127i.z)); +PV1i.w = clampFI32(PV1i.w); +R125i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R125i.w)) + intBitsToFloat(R11i.z))); +PS1i = R125i.z; +// 14 +R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R9i.x)) + intBitsToFloat(R1i.z))); +PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R125i.x)); +PV0i.y = clampFI32(PV0i.y); +R10i.z = floatBitsToInt(roundEven(0.0)); +PV0i.w = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PV1i.w)); +R2i.w = floatBitsToInt((-(intBitsToFloat(R7i.w)) * intBitsToFloat(0x40400000) + intBitsToFloat(0x40400000))); +PS0i = R2i.w; +// 15 +R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(R0i.x))); +R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R9i.y)) + intBitsToFloat(R1i.w))); +R1i.z = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(uf_remappedPS[3].x)); +PV1i.w = floatBitsToInt(-(intBitsToFloat(R125i.x)) + intBitsToFloat(PV0i.y)); +R1i.y = floatBitsToInt(intBitsToFloat(R12i.y) + intBitsToFloat(uf_remappedPS[3].y)); +PS1i = R1i.y; +// 16 +R125i.x = floatBitsToInt(max(-(intBitsToFloat(R127i.y)), 0.0)); +R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(PV1i.w)) + intBitsToFloat(R0i.y))); +R3i.z = floatBitsToInt(intBitsToFloat(R11i.z) + intBitsToFloat(uf_remappedPS[3].z)); +R127i.w = floatBitsToInt(intBitsToFloat(R8i.w) * intBitsToFloat(0x437f0000)); +R6i.z = floatBitsToInt(-(intBitsToFloat(R7i.w)) + 1.0); +PS0i = R6i.z; +// 17 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[4].x),intBitsToFloat(uf_remappedPS[4].y),intBitsToFloat(uf_remappedPS[4].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.z),intBitsToFloat(R125i.z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R1i.w = 0; +PS1i = R1i.w; +// 18 +R124i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[5].x),intBitsToFloat(uf_remappedPS[5].y),intBitsToFloat(uf_remappedPS[5].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.z),intBitsToFloat(R125i.z),0.0))); +PV0i.x = R124i.x; +PV0i.y = R124i.x; +PV0i.z = R124i.x; +PV0i.w = R124i.x; +R124i.z = floatBitsToInt(-(intBitsToFloat(PV1i.x))); +PS0i = R124i.z; +// 19 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.z),intBitsToFloat(R125i.z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R124i.y = tempi.x; +R4i.z = int(intBitsToFloat(R127i.w)); +PS1i = R4i.z; +// 20 +redcCUBE(vec4(intBitsToFloat(R124i.z),intBitsToFloat(R124i.z),intBitsToFloat(R124i.x),intBitsToFloat(PV1i.x)),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(R124i.x),intBitsToFloat(R124i.z),intBitsToFloat(R124i.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; +R6i.y = floatBitsToInt(min(intBitsToFloat(R125i.x), 1.0)); +PS0i = R6i.y; +// 21 +R1i.x = 0; +R3i.y = floatBitsToInt(intBitsToFloat(R7i.w) * intBitsToFloat(0x437f0000)); +R2i.z = PV0i.w; +R3i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R7i.w)),intBitsToFloat(R6i.z)) + intBitsToFloat(R6i.z))); +R3i.x = floatBitsToInt(1.0 / abs(intBitsToFloat(PV0i.z))); +PS1i = R3i.x; +// 0 +R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].x), intBitsToFloat(uf_remappedPS[7].w))); +R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y), intBitsToFloat(uf_remappedPS[7].w))); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),intBitsToFloat(R3i.x)) + 1.5)); +PV0i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(R3i.x)) + 1.5)); +PV0i.w = R123i.w; +R124i.y = R4i.z & 0x000000fc; +PS0i = R124i.y; +// 1 +R2i.x = PV0i.w; +R2i.y = PV0i.z; +R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].z), intBitsToFloat(uf_remappedPS[7].w))); +R127i.w = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(0x3c23d70a)); +R127i.w = clampFI32(R127i.w); +R125i.w = floatBitsToInt(-(intBitsToFloat(R6i.y)) + 1.0); +PS1i = R125i.w; +// 2 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.z),intBitsToFloat(R1i.y),intBitsToFloat(R3i.z),-0.0),vec4(intBitsToFloat(R1i.z),intBitsToFloat(R1i.y),intBitsToFloat(R3i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R127i.y = int(intBitsToFloat(R3i.y)); +PS0i = R127i.y; +// 3 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R5i.z),intBitsToFloat(R5i.z)),vec4(-(intBitsToFloat(R125i.x)),-(intBitsToFloat(R126i.y)),-(intBitsToFloat(R124i.z)),-(intBitsToFloat(R1i.x))))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R126i.w = tempi.x; +tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); +PS1i = floatBitsToInt(tempResultf); +// 4 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS1i))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PS1i))); +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.w))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PS1i))); +R127i.x = floatBitsToInt(float(R124i.y)); +PS0i = R127i.x; +// 5 +backupReg0i = R125i.w; +backupReg0i = R125i.w; +R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[7].w))); +PV1i.x = R124i.x; +R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[7].w))); +PV1i.y = R124i.y; +R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[7].w))); +PV1i.z = R126i.z; +R125i.w = floatBitsToInt((intBitsToFloat(R6i.z) * 0.5 + 0.5)); +R125i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R6i.y)),intBitsToFloat(backupReg0i)) + intBitsToFloat(backupReg0i))); +PS1i = R125i.z; +// 6 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R5i.z),intBitsToFloat(R5i.z)),vec4(-(intBitsToFloat(PV1i.x)),-(intBitsToFloat(PV1i.y)),-(intBitsToFloat(PV1i.z)),-(intBitsToFloat(R1i.w))))); +tempi.x = clampFI32(tempi.x); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R126i.x = R127i.y & int(1); +PS0i = R126i.x; +// 7 +tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R125i.x)),-(intBitsToFloat(R126i.y)),-(intBitsToFloat(R124i.z)),-0.0),vec4(-(intBitsToFloat(R124i.x)),-(intBitsToFloat(R124i.y)),-(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; +R127i.w = tempi.x; +PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); +// 8 +R1i.x = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(0x3b820821)); +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(R125i.w))); +R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) / 2.0); +R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS1i)) + -(intBitsToFloat(PS1i)))); +PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); +R122i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R6i.y)),intBitsToFloat(R125i.z)) + intBitsToFloat(R125i.z))); +PS0i = R122i.x; +// 9 +backupReg0i = R126i.x; +R126i.x = R126i.w; +R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) * 2.0); +R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PS0i))); +R125i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.w))); +PV1i.z = R125i.z; +R125i.w = floatBitsToInt((-(intBitsToFloat(R7i.w)) * intBitsToFloat(0x40400000) + 4.0)); +R124i.y = ((backupReg0i == 0)?(0):(0x3f800000)); +PS1i = R124i.y; +// 10 +backupReg0i = R127i.w; +R7i.x = R126i.w; +R7i.x = clampFI32(R7i.x); +PV0i.y = floatBitsToInt(intBitsToFloat(R126i.z) + 1.0); +R124i.z = floatBitsToInt((-(intBitsToFloat(R1i.x)) * intBitsToFloat(0x3d23d70a) + intBitsToFloat(0x3d23d70a))); +R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(R6i.y))); +R122i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(backupReg0i)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); +PS0i = R122i.x; +// 11 +backupReg0i = R126i.x; +R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); +R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PS0i))); +R7i.z = floatBitsToInt((intBitsToFloat(R1i.x) * 0.25 + 0.25)); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(backupReg0i))); +PS1i = floatBitsToInt(1.0 / intBitsToFloat(R125i.w)); +// 12 +backupReg0i = R124i.y; +R127i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R127i.w)); +R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS1i))); +R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.w))); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),-(intBitsToFloat(R127i.y))) + intBitsToFloat(R7i.x))); +PV0i.w = R123i.w; +R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(R1i.x)) + intBitsToFloat(R124i.z))); +PS0i = R125i.x; +// 13 +backupReg0i = R127i.y; +backupReg1i = R126i.x; +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[7].w), intBitsToFloat(uf_remappedPS[7].w))); +R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R1i.x)) + intBitsToFloat(R124i.z))); +PV1i.y = R127i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(R1i.x)) + intBitsToFloat(R124i.z))); +PV1i.z = R123i.z; +R126i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.w)); +R127i.w = floatBitsToInt(1.0 / intBitsToFloat(backupReg1i)); +PS1i = R127i.w; +// 14 +backupReg0i = R127i.x; +R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),-(intBitsToFloat(R125i.y))) + intBitsToFloat(PV1i.z))); +R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),-(intBitsToFloat(R124i.y))) + intBitsToFloat(PV1i.z))); +R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),-(intBitsToFloat(R125i.y))) + intBitsToFloat(R125i.x))); +R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),-(intBitsToFloat(R125i.y))) + intBitsToFloat(PV1i.y))); +R6i.y = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); +PS0i = R6i.y; +// 15 +backupReg0i = R126i.x; +backupReg0i = R126i.x; +R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),-(intBitsToFloat(R124i.y))) + intBitsToFloat(R125i.x))); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),-(intBitsToFloat(R124i.y))) + intBitsToFloat(R127i.y))); +PV1i.y = R123i.y; +R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.w))); +R7i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(backupReg0i))); +R127i.z = floatBitsToInt(1.0 / intBitsToFloat(R126i.w)); +PS1i = R127i.z; +// 16 +backupReg0i = R127i.x; +backupReg1i = R126i.y; +R127i.x = floatBitsToInt(intBitsToFloat(R125i.y) + intBitsToFloat(R125i.w)); +R126i.y = floatBitsToInt(intBitsToFloat(R125i.y) + intBitsToFloat(backupReg0i)); +R5i.z = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(backupReg1i)); +R125i.w = floatBitsToInt(intBitsToFloat(R125i.y) + intBitsToFloat(R124i.z)); +R6i.z = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(PV1i.y)); +PS0i = R6i.z; +// 17 +PV1i.x = floatBitsToInt(0.25 * intBitsToFloat(R6i.y)); +R6i.y = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(R126i.x)); +R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R126i.z))); +R3i.w = floatBitsToInt((intBitsToFloat(R8i.x) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); +R3i.w = clampFI32(R3i.w); +R0i.w = floatBitsToInt((intBitsToFloat(R8i.y) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); +R0i.w = clampFI32(R0i.w); +PS1i = R0i.w; +// 18 +R0i.x = floatBitsToInt((intBitsToFloat(R8i.z) * intBitsToFloat(0x3f895ef0) + intBitsToFloat(0xba0a8ec8))); +R0i.x = clampFI32(R0i.x); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PV1i.x))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV1i.x))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV1i.x))); +PS0i = R4i.z & int(1); +// 19 +R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].x), intBitsToFloat(PV0i.w))); +R8i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].z), intBitsToFloat(PV0i.y))); +R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].y), intBitsToFloat(PV0i.z))); +R3i.z = floatBitsToInt(float(PS0i)); +PS1i = R3i.z; +// 20 +R4i.x = R10i.x; +R4i.y = R10i.y; +R4i.z = floatBitsToInt(roundEven(1.0)); +R8i.w = floatBitsToInt(texture(textureUnitPS4, intBitsToFloat(R9i.xy)).x); +R12i.xzw = floatBitsToInt(texture(textureUnitPS11, intBitsToFloat(R10i.xy)).xzw); +R13i.xyz = floatBitsToInt(texture(textureUnitPS10, vec3(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z))).xyz); +R4i.xyz = floatBitsToInt(texture(textureUnitPS10, vec3(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z))).xyz); +R2i.xyz = floatBitsToInt(textureLod(textureUnitPS8, vec4(redcCUBEReverse(intBitsToFloat(R2i.xy),R2i.z),cubeMapArrayIndex8),intBitsToFloat(R2i.w)).xyz); +R10i.xyz = floatBitsToInt(texture(textureUnitPS13, intBitsToFloat(R10i.xy)).xyz); +// 0 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.w),-(intBitsToFloat(R7i.z))) + intBitsToFloat(R12i.w))); +PV0i.x = R123i.x; +R123i.y = floatBitsToInt((intBitsToFloat(R12i.w) * 0.5 + 0.5)); +PV0i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].x),intBitsToFloat(R8i.w)) + intBitsToFloat(uf_remappedPS[1].x))); +PV0i.z = R123i.z; +R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), intBitsToFloat(R7i.x))); +R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R12i.z))); +PS0i = R125i.x; +// 1 +PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.z))); +PV1i.y = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(PV0i.y)); +PV1i.y = clampFI32(PV1i.y); +PV1i.z = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(PV0i.z)), intBitsToFloat(R5i.y))); +PV1i.w = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(PV0i.z)), intBitsToFloat(R6i.x))); +R126i.x = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(PV0i.x)); +PS1i = R126i.x; +// 2 +R127i.x = floatBitsToInt(-(intBitsToFloat(R11i.x)) + intBitsToFloat(PV1i.w)); +PV0i.x = R127i.x; +R126i.y = floatBitsToInt(-(intBitsToFloat(R11i.y)) + intBitsToFloat(PV1i.z)); +PV0i.y = R126i.y; +PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PV1i.x)); +R8i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PV1i.y))); +R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[9].x), intBitsToFloat(R125i.w))); +PS0i = R124i.y; +// 3 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R12i.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; +R127i.y = tempi.x; +R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(R5i.z))); +PS1i = R125i.y; +// 4 +backupReg0i = R126i.y; +R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R5i.x)),intBitsToFloat(PV1i.x)) + intBitsToFloat(R127i.x))); +PV0i.x = R123i.x; +R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(R6i.z))); +R125i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R12i.y)),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); +// 5 +backupReg0i = R125i.y; +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(R7i.w))); +R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(R4i.x))); +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(R6i.y))); +// 6 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(R125i.w)) + intBitsToFloat(PV1i.z))); +PV0i.y = R123i.y; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(R126i.y)) + intBitsToFloat(R4i.y))); +PV0i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(R4i.z))); +PV0i.w = R123i.w; +// 7 +R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.w))); +R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.z))); +R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(R125i.y))); +tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.y)); +PS1i = floatBitsToInt(tempResultf); +// 8 +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); +R4i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R125i.x))); +PS0i = R4i.w; +// 9 +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z), intBitsToFloat(PV0i.w))); +// 10 +PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3ced9168)); +PV0i.y = clampFI32(PV0i.y); +// 11 +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R0i.z)) + 1.0)); +PV1i.y = R123i.y; +// 12 +backupReg0i = R1i.x; +R1i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(backupReg0i)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); +// 0 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].x),intBitsToFloat(R8i.w)) + intBitsToFloat(R13i.x))); +PV0i.x = R123i.x; +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].z),intBitsToFloat(R8i.w)) + intBitsToFloat(R13i.z))); +PV0i.z = R123i.z; +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].y),intBitsToFloat(R8i.w)) + intBitsToFloat(R13i.y))); +PV0i.w = R123i.w; +// 1 +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R1i.x))); +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.x))); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.x))); +// 2 +backupReg0i = R0i.x; +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R0i.w))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R3i.w))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(backupReg0i))); +// 3 +R123i.x = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); +PV1i.x = R123i.x; +R123i.y = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0x3f6e896b) + intBitsToFloat(0x3a011b1e))); +PV1i.z = R123i.z; +// 4 +PV0i.y = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV1i.x)); +PV0i.z = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(PV1i.y)); +PV0i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV1i.z)); +// 5 lines edited r10i carries fog brightness +R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(R10i.x)*.40)); +R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.z),intBitsToFloat(PV0i.z)) + intBitsToFloat(R10i.y)*.40)); +R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.z),intBitsToFloat(PV0i.y)) + intBitsToFloat(R10i.z)*.40)); +// export +passPixelColor0 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); +} diff --git a/Workarounds/BreathOfTheWild_Intel_RemoveBloom/rules.txt b/Workarounds/BreathOfTheWild_Intel_RemoveBloom/rules.txt index 3016ef83..efa58eaf 100644 --- a/Workarounds/BreathOfTheWild_Intel_RemoveBloom/rules.txt +++ b/Workarounds/BreathOfTheWild_Intel_RemoveBloom/rules.txt @@ -1,8 +1,8 @@ -[Definition] -titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = "Remove Intel Excess Bloom" -path = "The Legend of Zelda: Breath of the Wild/Workarounds/Intel iGPU/Remove Excess Intel Bloom" -description = This workaround targets users of Intel iGPU drivers 23.xx and older experiencing bloom issue. These drivers may offer better performance but have graphical glitches. This pack aims to fix the graphical issues so the older drivers create visuals similar to the new drivers. These older drivers may be found on Intel's site https://downloadcenter.intel.com/download/27484/Graphics-Intel-Graphics-Driver-for-Windows-15-65-. -version = 3 - +[Definition] +titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 +name = "Remove Intel Excess Bloom" +path = "The Legend of Zelda: Breath of the Wild/Workarounds/Intel iGPU/Remove Excess Intel Bloom" +description = This workaround targets users of Intel iGPU drivers 23.xx and older experiencing bloom issue. These drivers may offer better performance but have graphical glitches. This pack aims to fix the graphical issues so the older drivers create visuals similar to the new drivers. These older drivers may be found on Intel's site https://downloadcenter.intel.com/download/27484/Graphics-Intel-Graphics-Driver-for-Windows-15-65-. +version = 3 + #Altros \ No newline at end of file