Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #version 400
- #extension GL_ARB_texture_gather : enable
- uniform ivec4 uf_remappedPS[5];
- uniform sampler2D textureUnitPS3;
- uniform sampler2D textureUnitPS4;
- uniform sampler2D textureUnitPS5;
- in vec4 passParameter0;
- in vec4 passParameter1;
- in vec4 passParameter2;
- in vec4 passParameter3;
- in vec4 passParameter4;
- in vec4 passParameter5;
- layout(location = 0) out vec4 passPixelColor0;
- layout(location = 1) out vec4 passPixelColor1;
- layout(location = 3) out vec4 passPixelColor3;
- int clampFI32(int v)
- {
- if( v == 0x7FFFFFFF )
- return floatBitsToInt(1.0);
- else if( v == 0xFFFFFFFF )
- return floatBitsToInt(0.0);
- return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 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 R122f = vec4(0.0);
- vec4 R123f = vec4(0.0);
- vec4 R124f = vec4(0.0);
- vec4 R125f = vec4(0.0);
- vec4 R126f = vec4(0.0);
- vec4 R127f = vec4(0.0);
- 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 = passParameter0;
- R1f = passParameter1;
- R2f = passParameter2;
- R3f = passParameter3;
- R4f = passParameter4;
- R5f = passParameter5;
- R6f.xy = (texture(textureUnitPS4, R0f.xy).xy); // TEX_INST_SAMPLE OffsetXYZ 00 00 00
- R7f.xyz = (texture(textureUnitPS5, R0f.xy).xyz); // TEX_INST_SAMPLE OffsetXYZ 00 00 00
- R0f.xyz = (texture(textureUnitPS3, R0f.xy).xyz); // TEX_INST_SAMPLE OffsetXYZ 00 00 00
- // 0
- R127f.x = R1f.x + R3f.x;
- PV0f.x = R127f.x;
- R127f.y = R1f.y + R3f.y;
- PV0f.y = R127f.y;
- R127f.z = R1f.z + R3f.z;
- PV0f.z = R127f.z;
- R126f.w = (R6f.x * intBitsToFloat(0x40008102) + intBitsToFloat(0xbf810204));
- PV0f.w = R126f.w;
- R126f.y = (R6f.y * intBitsToFloat(0x40008102) + intBitsToFloat(0xbf810204));
- PS0f = R126f.y;
- // 1
- tempf.x = PV0f.x * PV0f.x + PV0f.y * PV0f.y + PV0f.z * PV0f.z + intBitsToFloat(0x80000000) * 0.0;
- PV1f.x = tempf.x;
- PV1f.y = tempf.x;
- PV1f.z = tempf.x;
- PV1f.w = tempf.x;
- R126f.x = mul_nonIEEE(PV0f.w, PV0f.w);
- PS1f = R126f.x;
- // 2
- tempf.x = R5f.x * R5f.x + R5f.y * R5f.y + R5f.z * R5f.z + intBitsToFloat(0x80000000) * 0.0;
- PV0f.x = tempf.x;
- PV0f.y = tempf.x;
- PV0f.z = tempf.x;
- PV0f.w = tempf.x;
- tempResultf = 1.0 / sqrt(PV1f.x);
- PS0f = tempResultf;
- // 3
- backupReg0f = R126f.x;
- backupReg1f = R127f.y;
- R126f.x = mul_nonIEEE(R127f.x, PS0f);
- PV1f.x = R126f.x;
- R127f.y = (R126f.y * R126f.y + backupReg0f);
- R127f.y = clamp(R127f.y, 0.0, 1.0);
- PV1f.y = R127f.y;
- R124f.z = mul_nonIEEE(R127f.z, PS0f);
- PV1f.z = R124f.z;
- R125f.w = mul_nonIEEE(backupReg1f, PS0f);
- PV1f.w = R125f.w;
- PS1f = sqrt(PV0f.x);
- // 4
- PV0f.x = mul_nonIEEE(R4f.x, PV1f.z);
- PV0f.y = mul_nonIEEE(R4f.z, PV1f.w);
- R126f.z = mul_nonIEEE(R4f.w, R126f.y);
- PV0f.z = R126f.z;
- PV0f.w = mul_nonIEEE(R4f.y, PV1f.x);
- R127f.w = 1.0 / PS1f;
- PS0f = R127f.w;
- // 5
- R127f.x = (-(R4f.x) * R125f.w + PV0f.w);
- PV1f.x = R127f.x;
- R126f.y = (-(R4f.z) * R126f.x + PV0f.x);
- PV1f.y = R126f.y;
- R127f.z = (-(R4f.y) * R124f.z + PV0f.y);
- PV1f.z = R127f.z;
- R124f.w = mul_nonIEEE(R5f.x, PS0f);
- PV1f.w = R124f.w;
- R4f.y = mul_nonIEEE(R5f.y, PS0f);
- PS1f = R4f.y;
- // 6
- R124f.x = mul_nonIEEE(R5f.z, R127f.w);
- PV0f.x = R124f.x;
- PV0f.y = mul_nonIEEE(R125f.w, PV1f.z);
- PV0f.z = mul_nonIEEE(R126f.x, PV1f.x);
- PV0f.w = mul_nonIEEE(R124f.z, PV1f.y);
- R125f.z = -(R127f.y) + 1.0;
- PS0f = R125f.z;
- // 7
- backupReg0f = R127f.z;
- R123f.x = (-(R125f.w) * R127f.x + PV0f.w);
- PV1f.x = R123f.x;
- PV1f.y = mul_nonIEEE(R127f.z, R126f.z);
- R127f.z = (-(R126f.x) * R126f.y + PV0f.y);
- PV1f.z = R127f.z;
- R123f.w = (-(R124f.z) * backupReg0f + PV0f.z);
- PV1f.w = R123f.w;
- PS1f = mul_nonIEEE(R126f.y, R126f.z);
- // 8
- backupReg0f = R127f.x;
- R127f.x = (R126f.w * PV1f.w + PS1f);
- PV0f.x = R127f.x;
- R126f.y = (R126f.w * PV1f.x + PV1f.y);
- PV0f.y = R126f.y;
- PV0f.z = mul_nonIEEE(backupReg0f, R126f.z);
- R127f.w = R124f.w + intBitsToFloat(uf_remappedPS[0].x);
- PV0f.w = R127f.w;
- R127f.y = R4f.y + intBitsToFloat(uf_remappedPS[0].y);
- PS0f = R127f.y;
- // 9
- backupReg0f = R127f.z;
- R125f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z), intBitsToFloat(uf_remappedPS[1].w));
- PV1f.x = R125f.x;
- R125f.y = 0.0;
- PV1f.y = R125f.y;
- R127f.z = R124f.x + intBitsToFloat(uf_remappedPS[0].z);
- PV1f.z = R127f.z;
- R123f.w = (R126f.w * backupReg0f + PV0f.z);
- PV1f.w = R123f.w;
- PS1f = sqrt(R125f.z);
- // 10
- backupReg0f = R127f.x;
- backupReg1f = R124f.z;
- R127f.x = (PS1f * R126f.x + R126f.y);
- PV0f.x = R127f.x;
- R126f.y = (PS1f * R125f.w + backupReg0f);
- PV0f.y = R126f.y;
- R124f.z = (PS1f * backupReg1f + PV1f.w);
- PV0f.z = R124f.z;
- R126f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].x), intBitsToFloat(uf_remappedPS[1].w));
- PV0f.w = R126f.w;
- R124f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), intBitsToFloat(uf_remappedPS[1].w));
- PS0f = R124f.y;
- // 11
- tempf.x = R127f.w * R127f.w + R127f.y * R127f.y + R127f.z * R127f.z + intBitsToFloat(0x80000000) * 0.0;
- PV1f.x = tempf.x;
- PV1f.y = tempf.x;
- PV1f.z = tempf.x;
- PV1f.w = tempf.x;
- R125f.w = 0.0;
- PS1f = R125f.w;
- // 12
- tempf.x = R127f.x * R127f.x + R126f.y * R126f.y + R124f.z * R124f.z + intBitsToFloat(0x80000000) * 0.0;
- PV0f.x = tempf.x;
- PV0f.y = tempf.x;
- PV0f.z = tempf.x;
- PV0f.w = tempf.x;
- tempResultf = 1.0 / sqrt(PV1f.x);
- PS0f = tempResultf;
- // 13
- PV1f.x = mul_nonIEEE(R127f.y, PS0f);
- PV1f.y = mul_nonIEEE(R127f.w, PS0f);
- R125f.z = (R7f.x * intBitsToFloat(0x40008102) + intBitsToFloat(0xbf810204));
- PV1f.z = R125f.z;
- PV1f.w = mul_nonIEEE(R127f.z, PS0f);
- tempResultf = 1.0 / sqrt(PV0f.x);
- R127f.w = tempResultf;
- PS1f = R127f.w;
- // 14
- backupReg0f = R127f.x;
- backupReg1f = R126f.y;
- R127f.x = mul_nonIEEE(PV1f.y, intBitsToFloat(uf_remappedPS[1].w));
- PV0f.x = R127f.x;
- R126f.y = mul_nonIEEE(PV1f.x, intBitsToFloat(uf_remappedPS[1].w));
- PV0f.y = R126f.y;
- R127f.z = mul_nonIEEE(PV1f.w, intBitsToFloat(uf_remappedPS[1].w));
- PV0f.z = R127f.z;
- R4f.w = mul_nonIEEE(backupReg0f, PS1f);
- PV0f.w = R4f.w;
- R127f.y = mul_nonIEEE(backupReg1f, PS1f);
- PS0f = R127f.y;
- // 15
- backupReg0f = R124f.z;
- R126f.x = (R7f.y * intBitsToFloat(0x40008102) + intBitsToFloat(0xbf810204));
- PV1f.x = R126f.x;
- R1f.y = (PS0f * 0.5 + 0.5);
- PV1f.y = R1f.y;
- R124f.z = mul_nonIEEE(backupReg0f, R127f.w);
- PV1f.z = R124f.z;
- R127f.w = (R7f.z * intBitsToFloat(0x40008102) + intBitsToFloat(0xbf810204));
- PV1f.w = R127f.w;
- R6f.w = intBitsToFloat(0x3f800000);
- PS1f = R6f.w;
- // 16
- backupReg0f = R125f.w;
- tempf.x = -(R127f.x) * R4f.w + -(R126f.y) * R127f.y + -(R127f.z) * PV1f.z + -(backupReg0f) * PV1f.z;
- PV0f.x = tempf.x;
- PV0f.y = tempf.x;
- PV0f.z = tempf.x;
- PV0f.w = tempf.x;
- R125f.w = tempf.x;
- R6f.x = intBitsToFloat(0x3ce0e0e1);
- PS0f = R6f.x;
- // 17
- tempf.x = -(R126f.w) * R4f.w + -(R124f.y) * R127f.y + -(R125f.x) * R124f.z + -(R125f.y) * R124f.z;
- PV1f.x = tempf.x;
- PV1f.y = tempf.x;
- PV1f.z = tempf.x;
- PV1f.w = tempf.x;
- R1f.x = (R4f.w * 0.5 + 0.5);
- PS1f = R1f.x;
- // 18
- PV0f.x = mul_nonIEEE(R124f.x, R125f.x);
- PV0f.y = mul_nonIEEE(R124f.x, R124f.z);
- R7f.z = mul_nonIEEE(PV1f.x, R125f.w);
- PV0f.z = R7f.z;
- R3f.w = intBitsToFloat(0x3c008081);
- PV0f.w = R3f.w;
- R1f.z = (R124f.z * 0.5 + 0.5);
- PS0f = R1f.z;
- // 19
- tempf.x = R124f.w * R126f.w + R4f.y * R124f.y + PV0f.x * 1.0 + intBitsToFloat(0x80000000) * 0.0;
- PV1f.x = tempf.x;
- PV1f.y = tempf.x;
- PV1f.z = tempf.x;
- PV1f.w = tempf.x;
- R122f.x = (R4f.y * R127f.y + PV0f.y);
- PS1f = R122f.x;
- // 20
- PV0f.x = max(-(PV1f.x), 0.0);
- R123f.y = (R124f.w * R4f.w + PS1f);
- PV0f.y = R123f.y;
- R1f.w = 0.0;
- PV0f.w = R1f.w;
- // 21
- R7f.x = PV0f.y + 1.0;
- R7f.x = clamp(R7f.x, 0.0, 1.0);
- PV1f.x = R7f.x;
- PV1f.y = min(PV0f.x, 1.0);
- // 22
- R123f.x = (PV1f.x * PV1f.x + R126f.x);
- R123f.x = clamp(R123f.x, 0.0, 1.0);
- PV0f.x = R123f.x;
- R123f.y = (PV1f.x * PV1f.x + R125f.z);
- R123f.y = clamp(R123f.y, 0.0, 1.0);
- PV0f.y = R123f.y;
- PV0f.z = mul_nonIEEE(PV1f.y, PV1f.y);
- R123f.w = (PV1f.x * PV1f.x + R127f.w);
- R123f.w = clamp(R123f.w, 0.0, 1.0);
- PV0f.w = R123f.w;
- // 23
- R4f.x = mul_nonIEEE(PV0f.w, PV0f.z);
- PV1f.x = R4f.x;
- R4f.y = mul_nonIEEE(PV0f.x, PV0f.z);
- PV1f.y = R4f.y;
- R4f.w = mul_nonIEEE(PV0f.y, PV0f.z);
- PV1f.w = R4f.w;
- // 0
- R123f.w = (-(R5f.z) * intBitsToFloat(uf_remappedPS[2].y) + intBitsToFloat(uf_remappedPS[2].z));
- R123f.w = clamp(R123f.w, 0.0, 1.0);
- PV0f.w = R123f.w;
- // 1
- R6f.y = intBitsToFloat(uf_remappedPS[3].z);
- PV1f.y = R6f.y;
- R123f.w = (-(PV0f.w) * R7f.z + R7f.z);
- R123f.w = clamp(R123f.w, 0.0, 1.0);
- PV1f.w = R123f.w;
- // 2
- tempResultf = log2(PV1f.w);
- if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F;
- PS0f = tempResultf;
- // 3
- PV1f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].x), PS0f);
- // 4
- PS0f = exp2(PV1f.x);
- // 5
- PV1f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y), PS0f);
- // 6
- PV0f.y = mul_nonIEEE(R7f.x, PV1f.w);
- // 7
- R123f.x = (intBitsToFloat(uf_remappedPS[2].w) * R4f.w + PV0f.y);
- PV1f.x = R123f.x;
- R123f.z = (intBitsToFloat(uf_remappedPS[2].w) * R4f.y + PV0f.y);
- PV1f.z = R123f.z;
- R123f.w = (intBitsToFloat(uf_remappedPS[2].w) * R4f.x + PV0f.y);
- PV1f.w = R123f.w;
- // 8
- R123f.x = (R0f.y * PV1f.z + R0f.y);
- PV0f.x = R123f.x;
- R123f.y = (R0f.x * PV1f.x + R0f.x);
- PV0f.y = R123f.y;
- R123f.z = (R0f.z * PV1f.w + R0f.z);
- PV0f.z = R123f.z;
- // 9
- R3f.x = mul_nonIEEE(R2f.x, PV0f.y);
- PV1f.x = R3f.x;
- R3f.y = mul_nonIEEE(R2f.x, PV0f.x);
- PV1f.y = R3f.y;
- R3f.z = mul_nonIEEE(R2f.x, PV0f.z);
- PV1f.z = R3f.z;
- // 10
- R2f.x = R1f.x;
- PV0f.x = R2f.x;
- R2f.y = R1f.y;
- PV0f.y = R2f.y;
- R2f.z = R1f.z;
- PV0f.z = R2f.z;
- R2f.w = R1f.w;
- PV0f.w = R2f.w;
- // 11
- R1f.x = R3f.x;
- PV1f.x = R1f.x;
- R1f.y = R3f.y;
- PV1f.y = R1f.y;
- R1f.z = R3f.z;
- PV1f.z = R1f.z;
- R1f.w = R3f.w;
- PV1f.w = R1f.w;
- // 12
- R0f.x = R6f.x;
- PV0f.x = R0f.x;
- R0f.y = R6f.y;
- PV0f.y = R0f.y;
- R0f.z = R6f.z;
- PV0f.z = R0f.z;
- R0f.w = R6f.w;
- PV0f.w = R0f.w;
- // export
- passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w);
- passPixelColor1 = vec4(R1f.x, R1f.y, R1f.z, R1f.w);
- passPixelColor3 = vec4(R2f.x, R2f.y, R2f.z, R2f.w);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement