From 49719345a7919566ba6a4b1b3020358c0fc191c1 Mon Sep 17 00:00:00 2001 From: getdls <25286924+getdls@users.noreply.github.com> Date: Thu, 23 Apr 2020 21:45:28 +0200 Subject: [PATCH] Bayonetta 2- Ultrawide, DOF, scale gl_point Cutscene DOF is LOD based, should not have been scaled. --- .../00fed4f92a49e851_0000000000000079_ps.txt | 635 --------------- .../284b1bf9010d4e57_0000000000000079_ps.txt | 33 +- .../392cf5ae4c5cf942_0000000000000000_vs.txt | 334 ++++++++ .../43a2239f07af804e_0000000000000079_ps.txt | 24 +- .../73ac09c3fff4b657_0000000000000079_ps.txt | 580 -------------- .../75387173950c1793_0000000000000079_ps.txt | 24 +- .../78a2659662685d55_0000000000000079_ps.txt | 99 ++- .../7ca214032b834227_0000000000000000_vs.txt | 670 ++++++++++++++++ .../8a0efcdc3f556942_0000000000000079_ps.txt | 24 +- .../9ea5cab5137f8604_0000000000000000_vs.txt | 299 +++++++ .../a574ba7d973b3412_0000000000000000_vs.txt | 752 ++++++++++++++++++ .../e5870717602e2f55_0000000000000000_vs.txt | 192 ----- .../Bayonetta2_Resolution/patch_aspect.asm | 23 + Resolutions/Bayonetta2_Resolution/rules.txt | 109 ++- 14 files changed, 2261 insertions(+), 1537 deletions(-) delete mode 100644 Resolutions/Bayonetta2_Resolution/00fed4f92a49e851_0000000000000079_ps.txt create mode 100644 Resolutions/Bayonetta2_Resolution/392cf5ae4c5cf942_0000000000000000_vs.txt delete mode 100644 Resolutions/Bayonetta2_Resolution/73ac09c3fff4b657_0000000000000079_ps.txt create mode 100644 Resolutions/Bayonetta2_Resolution/7ca214032b834227_0000000000000000_vs.txt create mode 100644 Resolutions/Bayonetta2_Resolution/9ea5cab5137f8604_0000000000000000_vs.txt create mode 100644 Resolutions/Bayonetta2_Resolution/a574ba7d973b3412_0000000000000000_vs.txt delete mode 100644 Resolutions/Bayonetta2_Resolution/e5870717602e2f55_0000000000000000_vs.txt create mode 100644 Resolutions/Bayonetta2_Resolution/patch_aspect.asm diff --git a/Resolutions/Bayonetta2_Resolution/00fed4f92a49e851_0000000000000079_ps.txt b/Resolutions/Bayonetta2_Resolution/00fed4f92a49e851_0000000000000079_ps.txt deleted file mode 100644 index f0b6a15e..00000000 --- a/Resolutions/Bayonetta2_Resolution/00fed4f92a49e851_0000000000000079_ps.txt +++ /dev/null @@ -1,635 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#define gl_VertexID gl_VertexIndex -#define gl_InstanceID gl_InstanceIndex -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define SET_POSITION(_v) gl_Position = _v -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. - -// shader 00fed4f92a49e851 -//cut scen blur pass 2 a -const float resScale = float($height)/float($gameHeight); -#ifdef VULKAN -layout(set = 1, binding = 1) uniform ufBlock -{ -uniform ivec4 uf_remappedPS[2]; -uniform vec4 uf_fragCoordScale; -}; -#else -uniform ivec4 uf_remappedPS[2]; -uniform vec2 uf_fragCoordScale; -#endif -TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; -layout(location = 0) in vec4 passParameterSem133; -layout(location = 0) out vec4 passPixelColor0; -// uf_fragCoordScale was moved to the ufBlock -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R5f = vec4(0.0); -vec4 R6f = vec4(0.0); -vec4 R7f = vec4(0.0); -vec4 R8f = vec4(0.0); -vec4 R9f = vec4(0.0); -vec4 R10f = vec4(0.0); -vec4 R11f = vec4(0.0); -vec4 R122f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem133; -R5f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw); -// 0 -backupReg0f = R0f.x; -backupReg1f = R0f.y; -PV0f.x = backupReg0f + -(0.0); -PV0f.x = clamp(PV0f.x, 0.0, 1.0); -PV0f.y = intBitsToFloat(uf_remappedPS[0].y) * intBitsToFloat(0xbeaf1d44)/ resScale; -PV0f.z = intBitsToFloat(uf_remappedPS[0].x) * intBitsToFloat(0x3f708fb2)/ resScale; -R10f.w = mul_nonIEEE(R5f.w, intBitsToFloat(uf_remappedPS[1].x)); -PV0f.w = R10f.w; -PS0f = backupReg1f + 0.0; -PS0f = clamp(PS0f, 0.0, 1.0); -// 1 -PV1f.x = max(PV0f.x, 0.0); -R10f.y = mul_nonIEEE(PV0f.w, PV0f.z); -PV1f.y = R10f.y; -R10f.z = mul_nonIEEE(PV0f.w, PV0f.y); -PV1f.z = R10f.z; -PV1f.w = max(PS0f, 0.0); -PS1f = max(R5f.w, intBitsToFloat(0x3a83126f)); -// 2 -R1f.x = min(PV1f.x, 1.0); -R1f.y = min(PV1f.w, 1.0); -PV0f.z = R0f.y + PV1f.z; -PV0f.z = clamp(PV0f.z, 0.0, 1.0); -PV0f.w = R0f.x + -(PV1f.y); -PV0f.w = clamp(PV0f.w, 0.0, 1.0); -R11f.y = 1.0 / PS1f; -PS0f = R11f.y; -// 3 -R123f.x = (-(R10f.y) * 2.0 + R0f.x); -R123f.x = clamp(R123f.x, 0.0, 1.0); -PV1f.x = R123f.x; -R123f.y = (R10f.z * 2.0 + R0f.y); -R123f.y = clamp(R123f.y, 0.0, 1.0); -PV1f.y = R123f.y; -PV1f.z = max(PV0f.z, 0.0); -PV1f.w = max(PV0f.w, 0.0); -R127f.w = (-(R10f.y) * intBitsToFloat(0x40400000) + R0f.x); -R127f.w = clamp(R127f.w, 0.0, 1.0); -PS1f = R127f.w; -// 4 -R2f.x = min(PV1f.w, 1.0); -R2f.y = min(PV1f.z, 1.0); -PV0f.z = max(PV1f.x, 0.0); -PV0f.w = max(PV1f.y, 0.0); -R122f.x = (R10f.z * intBitsToFloat(0x40400000) + R0f.y); -R122f.x = clamp(R122f.x, 0.0, 1.0); -PS0f = R122f.x; -// 5 -R3f.x = min(PV0f.z, 1.0); -R3f.y = min(PV0f.w, 1.0); -PV1f.z = max(PS0f, 0.0); -PV1f.w = max(R127f.w, 0.0); -R122f.x = (-(R10f.y) * 4.0 + R0f.x); -R122f.x = clamp(R122f.x, 0.0, 1.0); -PS1f = R122f.x; -// 6 -R4f.x = min(PV1f.w, 1.0); -R4f.y = min(PV1f.z, 1.0); -R0f.z = max(PS1f, 0.0); -R0f.w = (R10f.z * 4.0 + R0f.y); -R0f.w = clamp(R0f.w, 0.0, 1.0); -R6f.w = (-(R10f.y) * intBitsToFloat(0x40a00000) + R0f.x); -R6f.w = clamp(R6f.w, 0.0, 1.0); -PS0f = R6f.w; -R1f.xyzw = (texture(textureUnitPS0, R1f.xy).xyzw); -R2f.xyzw = (texture(textureUnitPS0, R2f.xy).xyzw); -R3f.xyzw = (texture(textureUnitPS0, R3f.xy).xyzw); -R4f.xyzw = (texture(textureUnitPS0, R4f.xy).xyzw); -// 0 -PV0f.x = R1f.w * R11f.y; -PV0f.x = clamp(PV0f.x, 0.0, 1.0); -R127f.y = R11f.y * R2f.w; -R127f.y = clamp(R127f.y, 0.0, 1.0); -R127f.z = R11f.y * R3f.w; -R127f.z = clamp(R127f.z, 0.0, 1.0); -R7f.w = min(R0f.z, 1.0); -R126f.z = (R10f.z * intBitsToFloat(0x40a00000) + R0f.y); -R126f.z = clamp(R126f.z, 0.0, 1.0); -PS0f = R126f.z; -// 1 -PV1f.x = PV0f.x + 1.0; -R123f.y = (mul_nonIEEE(R1f.z,PV0f.x) + R5f.z); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(R1f.y,PV0f.x) + R5f.y); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(R1f.x,PV0f.x) + R5f.x); -PV1f.w = R123f.w; -R126f.y = R11f.y * R4f.w; -R126f.y = clamp(R126f.y, 0.0, 1.0); -PS1f = R126f.y; -// 2 -R123f.x = (mul_nonIEEE(R2f.x,R127f.y) + PV1f.w); -PV0f.x = R123f.x; -PV0f.y = PV1f.x + R127f.y; -R123f.z = (mul_nonIEEE(R2f.z,R127f.y) + PV1f.y); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(R2f.y,R127f.y) + PV1f.z); -PV0f.w = R123f.w; -PS0f = max(R0f.w, 0.0); -// 3 -PV1f.x = PV0f.y + R127f.z; -R123f.y = (mul_nonIEEE(R3f.z,R127f.z) + PV0f.z); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(R3f.y,R127f.z) + PV0f.w); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(R3f.x,R127f.z) + PV0f.x); -PV1f.w = R123f.w; -R7f.y = min(PS0f, 1.0); -PS1f = R7f.y; -// 4 -R1f.x = (mul_nonIEEE(R4f.x,R126f.y) + PV1f.w); -R2f.y = PV1f.x + R126f.y; -R3f.z = (mul_nonIEEE(R4f.z,R126f.y) + PV1f.y); -R4f.w = (mul_nonIEEE(R4f.y,R126f.y) + PV1f.z); -PS0f = max(R6f.w, 0.0); -// 5 -R4f.x = min(PS0f, 1.0); -R123f.y = (-(R10f.y) * intBitsToFloat(0x40c00000) + R0f.x); -R123f.y = clamp(R123f.y, 0.0, 1.0); -PV1f.y = R123f.y; -PV1f.z = max(R126f.z, 0.0); -R123f.w = (R10f.z * intBitsToFloat(0x40c00000) + R0f.y); -R123f.w = clamp(R123f.w, 0.0, 1.0); -PV1f.w = R123f.w; -R122f.x = (-(R10f.y) * intBitsToFloat(0x40e00000) + R0f.x); -R122f.x = clamp(R122f.x, 0.0, 1.0); -PS1f = R122f.x; -// 6 -PV0f.x = max(PV1f.w, 0.0); -R4f.y = min(PV1f.z, 1.0); -PV0f.z = max(PV1f.y, 0.0); -R123f.w = (R10f.z * intBitsToFloat(0x40e00000) + R0f.y); -R123f.w = clamp(R123f.w, 0.0, 1.0); -PV0f.w = R123f.w; -PS0f = max(PS1f, 0.0); -// 7 -R3f.x = min(PV0f.z, 1.0); -R3f.y = min(PV0f.x, 1.0); -PV1f.z = max(PV0f.w, 0.0); -R6f.w = min(PS0f, 1.0); -R122f.x = (-(R10f.y) * intBitsToFloat(0x41000000) + R0f.x); -R122f.x = clamp(R122f.x, 0.0, 1.0); -PS1f = R122f.x; -// 8 -R2f.x = (-(R10f.y) * intBitsToFloat(0x41100000) + R0f.x); -R2f.x = clamp(R2f.x, 0.0, 1.0); -R6f.y = min(PV1f.z, 1.0); -R4f.z = max(PS1f, 0.0); -R3f.w = (R10f.z * intBitsToFloat(0x41000000) + R0f.y); -R3f.w = clamp(R3f.w, 0.0, 1.0); -R2f.z = (R10f.z * intBitsToFloat(0x41100000) + R0f.y); -R2f.z = clamp(R2f.z, 0.0, 1.0); -PS0f = R2f.z; -R7f.xyzw = (texture(textureUnitPS0, R7f.wy).xyzw); -R5f.xyzw = (texture(textureUnitPS0, R4f.xy).xyzw); -R8f.xyzw = (texture(textureUnitPS0, R3f.xy).xyzw); -R6f.xyzw = (texture(textureUnitPS0, R6f.wy).xyzw); -// 0 -PV0f.x = R11f.y * R7f.w; -PV0f.x = clamp(PV0f.x, 0.0, 1.0); -R126f.y = R11f.y * R5f.w; -R126f.y = clamp(R126f.y, 0.0, 1.0); -R126f.z = R11f.y * R8f.w; -R126f.z = clamp(R126f.z, 0.0, 1.0); -R1f.w = min(R4f.z, 1.0); -R127f.w = max(R2f.x, 0.0); -PS0f = R127f.w; -// 1 -PV1f.x = R2f.y + PV0f.x; -R123f.y = (mul_nonIEEE(R7f.z,PV0f.x) + R3f.z); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(R7f.y,PV0f.x) + R4f.w); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(R7f.x,PV0f.x) + R1f.x); -PV1f.w = R123f.w; -R127f.y = R11f.y * R6f.w; -R127f.y = clamp(R127f.y, 0.0, 1.0); -PS1f = R127f.y; -// 2 -R123f.x = (mul_nonIEEE(R5f.x,R126f.y) + PV1f.w); -PV0f.x = R123f.x; -PV0f.y = PV1f.x + R126f.y; -R123f.z = (mul_nonIEEE(R5f.z,R126f.y) + PV1f.y); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(R5f.y,R126f.y) + PV1f.z); -PV0f.w = R123f.w; -PS0f = max(R3f.w, 0.0); -// 3 -PV1f.x = PV0f.y + R126f.z; -R123f.y = (mul_nonIEEE(R8f.z,R126f.z) + PV0f.z); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(R8f.y,R126f.z) + PV0f.w); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(R8f.x,R126f.z) + PV0f.x); -PV1f.w = R123f.w; -R1f.y = min(PS0f, 1.0); -PS1f = R1f.y; -// 4 -backupReg0f = R6f.z; -R1f.x = (mul_nonIEEE(R6f.x,R127f.y) + PV1f.w); -R5f.y = PV1f.x + R127f.y; -R6f.z = (mul_nonIEEE(backupReg0f,R127f.y) + PV1f.y); -R6f.w = (mul_nonIEEE(R6f.y,R127f.y) + PV1f.z); -PS0f = max(R2f.z, 0.0); -// 5 -R6f.x = min(R127f.w, 1.0); -R6f.y = min(PS0f, 1.0); -R123f.z = (-(R10f.y) * intBitsToFloat(0x41200000) + R0f.x); -R123f.z = clamp(R123f.z, 0.0, 1.0); -PV1f.z = R123f.z; -R123f.w = (R10f.z * intBitsToFloat(0x41200000) + R0f.y); -R123f.w = clamp(R123f.w, 0.0, 1.0); -PV1f.w = R123f.w; -R122f.x = (-(R10f.y) * intBitsToFloat(0x41300000) + R0f.x); -R122f.x = clamp(R122f.x, 0.0, 1.0); -PS1f = R122f.x; -// 6 -R123f.x = (R10f.z * intBitsToFloat(0x41300000) + R0f.y); -R123f.x = clamp(R123f.x, 0.0, 1.0); -PV0f.x = R123f.x; -PV0f.y = max(PV1f.w, 0.0); -PV0f.z = max(PV1f.z, 0.0); -PV0f.w = max(PS1f, 0.0); -R127f.x = (-(R10f.y) * intBitsToFloat(0x41400000) + R0f.x); -R127f.x = clamp(R127f.x, 0.0, 1.0); -PS0f = R127f.x; -// 7 -R8f.x = min(PV0f.z, 1.0); -R8f.y = min(PV0f.y, 1.0); -PV1f.z = max(PV0f.x, 0.0); -R3f.w = min(PV0f.w, 1.0); -R122f.x = (R10f.z * intBitsToFloat(0x41400000) + R0f.y); -R122f.x = clamp(R122f.x, 0.0, 1.0); -PS1f = R122f.x; -// 8 -R5f.x = max(PS1f, 0.0); -R3f.y = min(PV1f.z, 1.0); -R2f.z = max(R127f.x, 0.0); -R8f.w = (-(R10f.y) * intBitsToFloat(0x41500000) + R0f.x); -R8f.w = clamp(R8f.w, 0.0, 1.0); -R8f.z = (R10f.z * intBitsToFloat(0x41500000) + R0f.y); -R8f.z = clamp(R8f.z, 0.0, 1.0); -PS0f = R8f.z; -R4f.xyzw = (texture(textureUnitPS0, R1f.wy).xyzw); -R7f.xyzw = (texture(textureUnitPS0, R6f.xy).xyzw); -R9f.xyzw = (texture(textureUnitPS0, R8f.xy).xyzw); -R3f.xyzw = (texture(textureUnitPS0, R3f.wy).xyzw); -// 0 -PV0f.x = R11f.y * R4f.w; -PV0f.x = clamp(PV0f.x, 0.0, 1.0); -R127f.y = R11f.y * R7f.w; -R127f.y = clamp(R127f.y, 0.0, 1.0); -R126f.z = R11f.y * R9f.w; -R126f.z = clamp(R126f.z, 0.0, 1.0); -R1f.w = min(R2f.z, 1.0); -R1f.y = min(R5f.x, 1.0); -PS0f = R1f.y; -// 1 -PV1f.x = R5f.y + PV0f.x; -R123f.y = (mul_nonIEEE(R4f.z,PV0f.x) + R6f.z); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(R4f.y,PV0f.x) + R6f.w); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(R4f.x,PV0f.x) + R1f.x); -PV1f.w = R123f.w; -R126f.y = R11f.y * R3f.w; -R126f.y = clamp(R126f.y, 0.0, 1.0); -PS1f = R126f.y; -// 2 -R123f.x = (mul_nonIEEE(R7f.x,R127f.y) + PV1f.w); -PV0f.x = R123f.x; -PV0f.y = PV1f.x + R127f.y; -R123f.z = (mul_nonIEEE(R7f.z,R127f.y) + PV1f.y); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(R7f.y,R127f.y) + PV1f.z); -PV0f.w = R123f.w; -R127f.w = max(R8f.w, 0.0); -PS0f = R127f.w; -// 3 -PV1f.x = PV0f.y + R126f.z; -R123f.y = (mul_nonIEEE(R9f.z,R126f.z) + PV0f.z); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(R9f.y,R126f.z) + PV0f.w); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(R9f.x,R126f.z) + PV0f.x); -PV1f.w = R123f.w; -R126f.z = max(R8f.z, 0.0); -PS1f = R126f.z; -// 4 -R1f.x = (mul_nonIEEE(R3f.x,R126f.y) + PV1f.w); -R7f.y = PV1f.x + R126f.y; -R9f.z = (mul_nonIEEE(R3f.z,R126f.y) + PV1f.y); -R9f.w = (mul_nonIEEE(R3f.y,R126f.y) + PV1f.z); -R3f.x = min(R127f.w, 1.0); -PS0f = R3f.x; -// 5 -R123f.x = (-(R10f.y) * intBitsToFloat(0x41600000) + R0f.x); -R123f.x = clamp(R123f.x, 0.0, 1.0); -PV1f.x = R123f.x; -R3f.y = min(R126f.z, 1.0); -R123f.z = (-(R10f.y) * intBitsToFloat(0x41700000) + R0f.x); -R123f.z = clamp(R123f.z, 0.0, 1.0); -PV1f.z = R123f.z; -R123f.w = (R10f.z * intBitsToFloat(0x41600000) + R0f.y); -R123f.w = clamp(R123f.w, 0.0, 1.0); -PV1f.w = R123f.w; -R122f.x = (R10f.z * intBitsToFloat(0x41700000) + R0f.y); -R122f.x = clamp(R122f.x, 0.0, 1.0); -PS1f = R122f.x; -// 6 -backupReg0f = R0f.x; -PV0f.x = max(PS1f, 0.0); -PV0f.y = max(PV1f.w, 0.0); -PV0f.z = max(PV1f.x, 0.0); -PV0f.w = max(PV1f.z, 0.0); -R7f.x = (-(R10f.y) * intBitsToFloat(0x41800000) + backupReg0f); -R7f.x = clamp(R7f.x, 0.0, 1.0); -PS0f = R7f.x; -// 7 -R9f.x = min(PV0f.z, 1.0); -R9f.y = min(PV0f.y, 1.0); -R3f.z = min(PV0f.w, 1.0); -R3f.w = min(PV0f.x, 1.0); -R7f.w = (R10f.z * intBitsToFloat(0x41800000) + R0f.y); -R7f.w = clamp(R7f.w, 0.0, 1.0); -PS1f = R7f.w; -R8f.xyzw = (texture(textureUnitPS0, R1f.wy).xyzw); -R4f.xyzw = (texture(textureUnitPS0, R3f.xy).xyzw); -R5f.xyzw = (texture(textureUnitPS0, R9f.xy).xyzw); -R3f.xyzw = (texture(textureUnitPS0, R3f.zw).xyzw); -// 0 -backupReg0f = R0f.x; -PV0f.x = R11f.y * R8f.w; -PV0f.x = clamp(PV0f.x, 0.0, 1.0); -R126f.y = R11f.y * R4f.w; -R126f.y = clamp(R126f.y, 0.0, 1.0); -R126f.z = R11f.y * R5f.w; -R126f.z = clamp(R126f.z, 0.0, 1.0); -R127f.w = max(R7f.x, 0.0); -R126f.w = (-(R10f.y) * intBitsToFloat(0x41880000) + backupReg0f); -R126f.w = clamp(R126f.w, 0.0, 1.0); -PS0f = R126f.w; -// 1 -PV1f.x = R7f.y + PV0f.x; -R123f.y = (mul_nonIEEE(R8f.z,PV0f.x) + R9f.z); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(R8f.y,PV0f.x) + R9f.w); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(R8f.x,PV0f.x) + R1f.x); -PV1f.w = R123f.w; -R127f.y = R11f.y * R3f.w; -R127f.y = clamp(R127f.y, 0.0, 1.0); -PS1f = R127f.y; -// 2 -R123f.x = (mul_nonIEEE(R4f.x,R126f.y) + PV1f.w); -PV0f.x = R123f.x; -PV0f.y = PV1f.x + R126f.y; -R123f.z = (mul_nonIEEE(R4f.z,R126f.y) + PV1f.y); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(R4f.y,R126f.y) + PV1f.z); -PV0f.w = R123f.w; -R126f.y = max(R7f.w, 0.0); -PS0f = R126f.y; -// 3 -PV1f.x = PV0f.y + R126f.z; -R123f.y = (mul_nonIEEE(R5f.z,R126f.z) + PV0f.z); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(R5f.y,R126f.z) + PV0f.w); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(R5f.x,R126f.z) + PV0f.x); -PV1f.w = R123f.w; -R5f.x = min(R127f.w, 1.0); -PS1f = R5f.x; -// 4 -R8f.x = (mul_nonIEEE(R3f.x,R127f.y) + PV1f.w); -R4f.y = PV1f.x + R127f.y; -R8f.z = (mul_nonIEEE(R3f.z,R127f.y) + PV1f.y); -R3f.w = (mul_nonIEEE(R3f.y,R127f.y) + PV1f.z); -R5f.y = min(R126f.y, 1.0); -PS0f = R5f.y; -// 5 -R123f.x = (-(R10f.y) * intBitsToFloat(0x41900000) + R0f.x); -R123f.x = clamp(R123f.x, 0.0, 1.0); -PV1f.x = R123f.x; -R123f.y = (R10f.z * intBitsToFloat(0x41900000) + R0f.y); -R123f.y = clamp(R123f.y, 0.0, 1.0); -PV1f.y = R123f.y; -R123f.z = (R10f.z * intBitsToFloat(0x41880000) + R0f.y); -R123f.z = clamp(R123f.z, 0.0, 1.0); -PV1f.z = R123f.z; -PV1f.w = max(R126f.w, 0.0); -R126f.w = (-(R10f.y) * intBitsToFloat(0x41980000) + R0f.x); -R126f.w = clamp(R126f.w, 0.0, 1.0); -PS1f = R126f.w; -// 6 -backupReg0f = R0f.y; -R3f.x = min(PV1f.w, 1.0); -PV0f.y = max(PV1f.x, 0.0); -PV0f.z = max(PV1f.z, 0.0); -PV0f.w = max(PV1f.y, 0.0); -R122f.x = (R10f.z * intBitsToFloat(0x41980000) + backupReg0f); -R122f.x = clamp(R122f.x, 0.0, 1.0); -PS0f = R122f.x; -// 7 -R4f.x = min(PV0f.y, 1.0); -R3f.y = min(PV0f.z, 1.0); -R4f.z = min(PV0f.w, 1.0); -PV1f.w = max(R126f.w, 0.0); -PS1f = max(PS0f, 0.0); -// 8 -R1f.x = min(PV1f.w, 1.0); -R1f.y = min(PS1f, 1.0); -R3f.z = (-(R10f.y) * intBitsToFloat(0x41a00000) + R0f.x); -R3f.z = clamp(R3f.z, 0.0, 1.0); -R4f.w = (R10f.z * intBitsToFloat(0x41a00000) + R0f.y); -R4f.w = clamp(R4f.w, 0.0, 1.0); -R8f.w = (-(R10f.y) * intBitsToFloat(0x41a80000) + R0f.x); -R8f.w = clamp(R8f.w, 0.0, 1.0); -PS0f = R8f.w; -R5f.xyzw = (texture(textureUnitPS0, R5f.xy).xyzw); -R7f.xyzw = (texture(textureUnitPS0, R3f.xy).xyzw); -R9f.xyzw = (texture(textureUnitPS0, R4f.xz).xyzw); -R1f.xyzw = (texture(textureUnitPS0, R1f.xy).xyzw); -// 0 -PV0f.x = R11f.y * R5f.w; -PV0f.x = clamp(PV0f.x, 0.0, 1.0); -R127f.y = R11f.y * R7f.w; -R127f.y = clamp(R127f.y, 0.0, 1.0); -R126f.z = R11f.y * R9f.w; -R126f.z = clamp(R126f.z, 0.0, 1.0); -R126f.w = max(R3f.z, 0.0); -R127f.z = (R10f.z * intBitsToFloat(0x41a80000) + R0f.y); -R127f.z = clamp(R127f.z, 0.0, 1.0); -PS0f = R127f.z; -// 1 -PV1f.x = R4f.y + PV0f.x; -R123f.y = (mul_nonIEEE(R5f.z,PV0f.x) + R8f.z); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(R5f.y,PV0f.x) + R3f.w); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(R5f.x,PV0f.x) + R8f.x); -PV1f.w = R123f.w; -R126f.y = R11f.y * R1f.w; -R126f.y = clamp(R126f.y, 0.0, 1.0); -PS1f = R126f.y; -// 2 -R123f.x = (mul_nonIEEE(R7f.x,R127f.y) + PV1f.w); -PV0f.x = R123f.x; -PV0f.y = PV1f.x + R127f.y; -R123f.z = (mul_nonIEEE(R7f.z,R127f.y) + PV1f.y); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(R7f.y,R127f.y) + PV1f.z); -PV0f.w = R123f.w; -R127f.y = max(R4f.w, 0.0); -PS0f = R127f.y; -// 3 -PV1f.x = PV0f.y + R126f.z; -R123f.y = (mul_nonIEEE(R9f.z,R126f.z) + PV0f.z); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(R9f.y,R126f.z) + PV0f.w); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(R9f.x,R126f.z) + PV0f.x); -PV1f.w = R123f.w; -R9f.x = min(R126f.w, 1.0); -PS1f = R9f.x; -// 4 -backupReg0f = R1f.z; -R7f.x = (mul_nonIEEE(R1f.x,R126f.y) + PV1f.w); -R7f.y = PV1f.x + R126f.y; -R1f.z = (mul_nonIEEE(backupReg0f,R126f.y) + PV1f.y); -R1f.w = (mul_nonIEEE(R1f.y,R126f.y) + PV1f.z); -R9f.y = min(R127f.y, 1.0); -PS0f = R9f.y; -// 5 -R123f.x = (-(R10f.y) * intBitsToFloat(0x41b00000) + R0f.x); -R123f.x = clamp(R123f.x, 0.0, 1.0); -PV1f.x = R123f.x; -R123f.y = (R10f.z * intBitsToFloat(0x41b00000) + R0f.y); -R123f.y = clamp(R123f.y, 0.0, 1.0); -PV1f.y = R123f.y; -PV1f.z = max(R127f.z, 0.0); -PV1f.w = max(R8f.w, 0.0); -R126f.w = (-(R10f.y) * intBitsToFloat(0x41b80000) + R0f.x); -R126f.w = clamp(R126f.w, 0.0, 1.0); -PS1f = R126f.w; -// 6 -backupReg0f = R0f.y; -R0f.x = min(PV1f.w, 1.0); -R0f.y = min(PV1f.z, 1.0); -PV0f.z = max(PV1f.x, 0.0); -PV0f.w = max(PV1f.y, 0.0); -R122f.x = (R10f.z * intBitsToFloat(0x41b80000) + backupReg0f); -R122f.x = clamp(R122f.x, 0.0, 1.0); -PS0f = R122f.x; -// 7 -R10f.x = min(PV0f.z, 1.0); -R10f.y = min(PV0f.w, 1.0); -PV1f.z = max(PS0f, 0.0); -PV1f.w = max(R126f.w, 0.0); -R4f.w = R10f.w; -R4f.w *= 2.0; -PS1f = R4f.w; -// 8 -R1f.x = min(PV1f.w, 1.0); -R1f.y = min(PV1f.z, 1.0); -R9f.xyzw = (texture(textureUnitPS0, R9f.xy).xyzw); -R0f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw); -R10f.xyzw = (texture(textureUnitPS0, R10f.xy).xyzw); -R8f.xyzw = (texture(textureUnitPS0, R1f.xy).xyzw); -// 0 -PV0f.x = R11f.y * R9f.w; -PV0f.x = clamp(PV0f.x, 0.0, 1.0); -R127f.y = R11f.y * R0f.w; -R127f.y = clamp(R127f.y, 0.0, 1.0); -R127f.z = R11f.y * R10f.w; -R127f.z = clamp(R127f.z, 0.0, 1.0); -// 1 -PV1f.x = R7f.y + PV0f.x; -R123f.y = (mul_nonIEEE(R9f.z,PV0f.x) + R1f.z); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(R9f.y,PV0f.x) + R1f.w); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(R9f.x,PV0f.x) + R7f.x); -PV1f.w = R123f.w; -R126f.y = R11f.y * R8f.w; -R126f.y = clamp(R126f.y, 0.0, 1.0); -PS1f = R126f.y; -// 2 -backupReg0f = R0f.y; -R123f.x = (mul_nonIEEE(R0f.x,R127f.y) + PV1f.w); -PV0f.x = R123f.x; -PV0f.y = PV1f.x + R127f.y; -R123f.z = (mul_nonIEEE(R0f.z,R127f.y) + PV1f.y); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(backupReg0f,R127f.y) + PV1f.z); -PV0f.w = R123f.w; -// 3 -PV1f.x = PV0f.y + R127f.z; -R123f.y = (mul_nonIEEE(R10f.z,R127f.z) + PV0f.z); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(R10f.y,R127f.z) + PV0f.w); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(R10f.x,R127f.z) + PV0f.x); -PV1f.w = R123f.w; -// 4 -R127f.x = (mul_nonIEEE(R8f.x,R126f.y) + PV1f.w); -PV0f.y = PV1f.x + R126f.y; -R127f.z = (mul_nonIEEE(R8f.z,R126f.y) + PV1f.y); -R126f.w = (mul_nonIEEE(R8f.y,R126f.y) + PV1f.z); -// 5 -PS1f = 1.0 / PV0f.y; -// 6 -R4f.x = R127f.x * PS1f; -R4f.y = R126f.w * PS1f; -R4f.z = R127f.z * PS1f; -// export -passPixelColor0 = vec4(R4f.x, R4f.y, R4f.z, R4f.w); -} diff --git a/Resolutions/Bayonetta2_Resolution/284b1bf9010d4e57_0000000000000079_ps.txt b/Resolutions/Bayonetta2_Resolution/284b1bf9010d4e57_0000000000000079_ps.txt index d1a114d1..a8af10a5 100644 --- a/Resolutions/Bayonetta2_Resolution/284b1bf9010d4e57_0000000000000079_ps.txt +++ b/Resolutions/Bayonetta2_Resolution/284b1bf9010d4e57_0000000000000079_ps.txt @@ -1,27 +1,19 @@ -#version 420 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +// shader 284b1bf9010d4e57 +// start of shader inputs/outputs, predetermined by Cemu. Do not touch #ifdef VULKAN #define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#define gl_VertexID gl_VertexIndex -#define gl_InstanceID gl_InstanceIndex #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define SET_POSITION(_v) gl_Position = _v #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) #endif -// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. - -// shader 284b1bf9010d4e57 -TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; -layout(location = 0) in vec4 passParameterSem133; -layout(location = 0) out vec4 passPixelColor0; #ifdef VULKAN layout(set = 1, binding = 1) uniform ufBlock { @@ -30,7 +22,10 @@ uniform vec4 uf_fragCoordScale; #else uniform vec2 uf_fragCoordScale; #endif -float scaleFactor = uf_fragCoordScale.x; +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; +layout(location = 0) in vec4 passParameterSem133; +layout(location = 0) out vec4 passPixelColor0; +// end of shader inputs/outputs int clampFI32(int v) { if( v == 0x7FFFFFFF ) @@ -39,7 +34,7 @@ else if( v == 0xFFFFFFFF ) return floatBitsToInt(0.0); return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); } -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } void main() { ivec4 R0i = ivec4(0); @@ -66,21 +61,19 @@ activeMaskStackC[0] = true; activeMaskStackC[1] = true; vec3 cubeMapSTM; int cubeMapFaceId; - - R0i = floatBitsToInt(passParameterSem133); if( activeMaskStackC[1] == true ) { // 0 -R1i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(0xba4ccccd)*scaleFactor); +R1i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(0xba4ccccd)); R1i.y = floatBitsToInt(intBitsToFloat(R0i.y) + 0.0); -R0i.z = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(0x3a4ccccd)*scaleFactor); +R0i.z = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(0x3a4ccccd)); R0i.w = floatBitsToInt(intBitsToFloat(R0i.y) + 0.0); R2i.x = floatBitsToInt(intBitsToFloat(R0i.x) + 0.0); PS0i = R2i.x; // 1 R3i.x = floatBitsToInt(intBitsToFloat(R0i.x) + 0.0); -R2i.y = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(0xbab60b61)*scaleFactor); -R3i.zwy = floatBitsToInt(vec3(intBitsToFloat(R0i.y),intBitsToFloat(R0i.x),intBitsToFloat(R0i.y)) + vec3(intBitsToFloat(0x3ab60b61)*scaleFactor,0.0,0.0)); +R2i.y = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(0xbab60b61)); +R3i.zwy = floatBitsToInt(vec3(intBitsToFloat(R0i.y),intBitsToFloat(R0i.x),intBitsToFloat(R0i.y)) + vec3(intBitsToFloat(0x3ab60b61),0.0,0.0)); PS1i = R3i.y; } if( activeMaskStackC[1] == true ) { @@ -122,7 +115,7 @@ PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 4.0); PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), -(intBitsToFloat(PV1i.w)))); PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 4.0); // 5 -R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(0x3eaa7efa)*scaleFactor,intBitsToFloat(0x3eab020c)*scaleFactor,intBitsToFloat(0x3eaa7efa)*scaleFactor,0.0))); +R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(0x3eaa7efa),intBitsToFloat(0x3eab020c),intBitsToFloat(0x3eaa7efa),0.0))); PV1i.x = R0i.x; PV1i.y = R0i.x; PV1i.z = R0i.x; diff --git a/Resolutions/Bayonetta2_Resolution/392cf5ae4c5cf942_0000000000000000_vs.txt b/Resolutions/Bayonetta2_Resolution/392cf5ae4c5cf942_0000000000000000_vs.txt new file mode 100644 index 00000000..b328db3a --- /dev/null +++ b/Resolutions/Bayonetta2_Resolution/392cf5ae4c5cf942_0000000000000000_vs.txt @@ -0,0 +1,334 @@ +#version 430 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +// shader 392cf5ae4c5cf942 //point "sprites" verified +// start of shader inputs/outputs, predetermined by Cemu. Do not touch +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#endif +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ +uniform ivec4 uf_remappedVS[17]; +}; +#else +uniform ivec4 uf_remappedVS[17]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem5; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +layout(location = 0) out vec4 passParameterSem144; +// end of shader inputs/outputs + +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } + +const float resScale = float($gameWidth / $width); + +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R4f = vec4(0.0); +vec4 R5f = vec4(0.0); +vec4 R123f = vec4(0.0); +vec4 R124f = vec4(0.0); +vec4 R125f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = vec4(0.0); +uvec4 attrDecoder; +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); +attrDecoder.xyzw = attrDataSem0.xyzw; +attrDecoder = ((attrDecoder>>8)&0xFF)|((attrDecoder<<8)&0xFF00); +attrDecoder.xyzw = floatBitsToInt(vec4(unpackHalf2x16(attrDecoder.x|(attrDecoder.y<<16)),unpackHalf2x16(attrDecoder.z|(attrDecoder.w<<16)))); +R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); +attrDecoder.xyzw = attrDataSem5.xyzw; +attrDecoder = ((attrDecoder>>8)&0xFF)|((attrDecoder<<8)&0xFF00); +attrDecoder.xyzw = floatBitsToInt(vec4(unpackHalf2x16(attrDecoder.x|(attrDecoder.y<<16)),unpackHalf2x16(attrDecoder.z|(attrDecoder.w<<16)))); +R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); +// 0 +PV0f.x = max(intBitsToFloat(uf_remappedVS[0].w), -(intBitsToFloat(uf_remappedVS[0].w))); +R127f.y = mul_nonIEEE(R2f.x, intBitsToFloat(uf_remappedVS[1].x)); +R127f.z = mul_nonIEEE(R2f.y, intBitsToFloat(uf_remappedVS[1].y)); +PV0f.w = max(R1f.w, -(R1f.w)); +R3f.w = 1.0; +PS0f = R3f.w; +// 1 +R0f.x = -(intBitsToFloat(uf_remappedVS[2].x)) * intBitsToFloat(0x7f7ffffd); +R0f.x = clamp(R0f.x, 0.0, 1.0); +R125f.y = -(intBitsToFloat(uf_remappedVS[2].y)) * intBitsToFloat(0x7f7ffffd); +R125f.y = clamp(R125f.y, 0.0, 1.0); +PV1f.z = mul_nonIEEE(PV0f.w, intBitsToFloat(uf_remappedVS[3].y)); +R125f.w = max(intBitsToFloat(uf_remappedVS[2].x), -(intBitsToFloat(uf_remappedVS[2].x))); +tempResultf = max(0.0, PV0f.x); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +R126f.z = tempResultf; +PS1f = R126f.z; +// 2 +PV0f.y = -(PV1f.z) + intBitsToFloat(uf_remappedVS[3].x); +R5f.z = 0.0; +R127f.w = mul_nonIEEE(R2f.z, intBitsToFloat(uf_remappedVS[1].z)); +// 3 +backupReg0f = R127f.y; +R124f.x = max(PV0f.y, 0.0); +PV1f.x = R124f.x; +R127f.y = R127f.z + intBitsToFloat(uf_remappedVS[0].y); +R127f.z = backupReg0f + intBitsToFloat(uf_remappedVS[0].x); +R124f.w = max(intBitsToFloat(uf_remappedVS[2].y), -(intBitsToFloat(uf_remappedVS[2].y))); +// 4 +PV0f.x = mul_nonIEEE(PV1f.x, intBitsToFloat(uf_remappedVS[4].x)); +PV0f.y = mul_nonIEEE(PV1f.x, R126f.z); +PV0f.z = mul_nonIEEE(PV1f.x, intBitsToFloat(uf_remappedVS[4].z)); +PV0f.w = mul_nonIEEE(PV1f.x, intBitsToFloat(uf_remappedVS[4].y)); +R126f.w = PV1f.x + -(intBitsToFloat(0x3a83126f)); +PS0f = R126f.w; +// 5 +PV1f.x = R2f.w + PV0f.w; +PV1f.y = R2f.w + PV0f.x; +R124f.z = -(intBitsToFloat(uf_remappedVS[2].z)) * intBitsToFloat(0x7f7ffffd); +R124f.z = clamp(R124f.z, 0.0, 1.0); +PV1f.w = R2f.w + PV0f.z; +PS1f = exp2(PV0f.y); +// 6 +PV0f.x = PV1f.w * intBitsToFloat(0x40c90fdb); +PV0f.y = PV1f.x * intBitsToFloat(0x40c90fdb); +PV0f.z = PV1f.y * intBitsToFloat(0x40c90fdb); +PV0f.w = -(PS1f) + 1.0; +R127f.x = R127f.w + intBitsToFloat(uf_remappedVS[0].z); +PS0f = R127f.x; +// 7 +R123f.x = (PV0f.y * intBitsToFloat(0x3e22f983) + 0.5); +PV1f.x = R123f.x; +R123f.y = (PV0f.x * intBitsToFloat(0x3e22f983) + 0.5); +PV1f.y = R123f.y; +R126f.z = mul_nonIEEE(PV0f.w, intBitsToFloat(uf_remappedVS[1].w)); +PV1f.z = R126f.z; +R123f.w = (PV0f.z * intBitsToFloat(0x3e22f983) + 0.5); +PV1f.w = R123f.w; +R2f.w = max(intBitsToFloat(uf_remappedVS[2].z), -(intBitsToFloat(uf_remappedVS[2].z))); +PS1f = R2f.w; +// 8 +PV0f.x = fract(PV1f.y); +R124f.y = mul_nonIEEE(PV1f.z, R127f.z); +PV0f.z = fract(PV1f.w); +PV0f.w = fract(PV1f.x); +R2f.z = mul_nonIEEE(PV1f.z, R127f.y); +PS0f = R2f.z; +// 9 +R126f.x = mul_nonIEEE(R124f.x, intBitsToFloat(uf_remappedVS[5].x)); +R123f.y = (PV0f.z * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb))); +PV1f.y = R123f.y; +R123f.z = (PV0f.w * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb))); +PV1f.z = R123f.z; +R123f.w = (PV0f.x * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb))); +PV1f.w = R123f.w; +R127f.z = mul_nonIEEE(R124f.x, intBitsToFloat(uf_remappedVS[5].y)); +PS1f = R127f.z; +// 10 +R2f.x = PV1f.z * intBitsToFloat(0x3e22f983); +R126f.y = PV1f.w * intBitsToFloat(0x3e22f983); +R125f.z = PV1f.y * intBitsToFloat(0x3e22f983); +PV0f.z = R125f.z; +R127f.w = mul_nonIEEE(R1f.x, intBitsToFloat(uf_remappedVS[6].x)); +R125f.x = mul_nonIEEE(R1f.y, intBitsToFloat(uf_remappedVS[6].y)); +PS0f = R125f.x; +// 11 +backupReg0f = R127f.z; +PV1f.x = mul_nonIEEE(R124f.x, intBitsToFloat(uf_remappedVS[5].z)); +R2f.y = mul_nonIEEE(R126f.z, R127f.x); +R127f.z = mul_nonIEEE(R124f.x, R126f.x); +R0f.w = mul_nonIEEE(R124f.x, backupReg0f); +R127f.y = sin((PV0f.z)/0.1591549367); +PS1f = R127f.y; +// 12 +backupReg0f = R125f.x; +R125f.x = mul_nonIEEE(R124f.x, PV1f.x); +R1f.y = backupReg0f + intBitsToFloat(uf_remappedVS[7].y); +R126f.z = R127f.w + intBitsToFloat(uf_remappedVS[7].x); +PV0f.w = mul_nonIEEE(R1f.z, intBitsToFloat(uf_remappedVS[6].z)); +R127f.w = sin((R2f.x)/0.1591549367); +PS0f = R127f.w; +// 13 +backupReg0f = R124f.x; +R124f.x = PV0f.w + intBitsToFloat(uf_remappedVS[7].z); +R123f.y = (mul_nonIEEE(backupReg0f,intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(uf_remappedVS[8].y)); +PV1f.y = R123f.y; +R1f.z = R126f.w * intBitsToFloat(0x7f7ffffd); +R1f.z = clamp(R1f.z, 0.0, 1.0); +PS1f = cos((R125f.z)/0.1591549367); +// 14 +PV0f.y = floor(PV1f.y); +PV0f.w = -(R127f.y) + PS1f; +PS0f = cos((R2f.x)/0.1591549367); +// 15 +R123f.x = (mul_nonIEEE(PV0f.w,R0f.x) + R127f.y); +PV1f.x = R123f.x; +PV1f.y = mul_nonIEEE(PV0f.y, intBitsToFloat(uf_remappedVS[9].x)); +PV1f.z = -(R127f.w) + PS0f; +R127f.y = sin((R126f.y)/0.1591549367); +PS1f = R127f.y; +// 16 +PV0f.x = fract(PV1f.y); +PV0f.y = mul_nonIEEE(R125f.w, PV1f.x); +PV0f.z = floor(PV1f.y); +R123f.w = (mul_nonIEEE(PV1f.z,R125f.y) + R127f.w); +PV0f.w = R123f.w; +PS0f = cos((R126f.y)/0.1591549367); +// 17 +PV1f.x = mul_nonIEEE(R124f.w, PV0f.w); +PV1f.y = -(R127f.y) + PS0f; +PV1f.z = R124f.y + PV0f.y; +PV1f.w = mul_nonIEEE(PV0f.x, intBitsToFloat(uf_remappedVS[10].x)); +R5f.y = mul_nonIEEE(PV0f.z, intBitsToFloat(uf_remappedVS[9].y)); +PS1f = R5f.y; +// 18 +PV0f.x = PV1f.z + R127f.z; +PV0f.y = R2f.z + PV1f.x; +R123f.z = (mul_nonIEEE(PV1f.y,R124f.z) + R127f.y); +PV0f.z = R123f.z; +PV0f.w = floor(PV1f.w); +// 19 +PV1f.x = PV0f.y + R0f.w; +PV1f.z = R126f.z + PV0f.x; +PV1f.w = mul_nonIEEE(R2f.w, PV0f.z); +R5f.x = mul_nonIEEE(PV0f.w, intBitsToFloat(uf_remappedVS[9].x)); +PS1f = R5f.x; +// 20 +PV0f.x = R2f.y + PV1f.w; +PV0f.y = R1f.y + PV1f.x; +R2f.z = fract(PV1f.z); +PV0f.z = R2f.z; +// 21 +PV1f.x = PV0f.z + -(1.0); +R2f.y = fract(PV0f.y); +PV1f.y = R2f.y; +R126f.z = mul_nonIEEE(PV0f.z, intBitsToFloat(uf_remappedVS[11].w)); +R126f.z = clamp(R126f.z, 0.0, 1.0); +PV1f.w = PV0f.x + R125f.x; +// 22 +PV0f.x = R124f.x + PV1f.w; +PV0f.y = max(PV1f.x, -(PV1f.x)); +PV0f.z = mul_nonIEEE(PV1f.y, intBitsToFloat(uf_remappedVS[11].w)); +PV0f.z = clamp(PV0f.z, 0.0, 1.0); +PV0f.w = PV1f.y + -(1.0); +// 23 +PV1f.x = max(PV0f.w, -(PV0f.w)); +R127f.y = mul_nonIEEE(PV0f.y, intBitsToFloat(uf_remappedVS[11].w)); +R127f.y = clamp(R127f.y, 0.0, 1.0); +R0f.z = fract(PV0f.x); +PV1f.z = R0f.z; +R124f.w = min(R126f.z, PV0f.z); +// 24 +PV0f.x = mul_nonIEEE(PV1f.z, intBitsToFloat(uf_remappedVS[11].w)); +PV0f.x = clamp(PV0f.x, 0.0, 1.0); +PV0f.y = mul_nonIEEE(PV1f.x, intBitsToFloat(uf_remappedVS[11].w)); +PV0f.y = clamp(PV0f.y, 0.0, 1.0); +PV0f.z = PV1f.z + -(1.0); +// 25 +R0f.x = min(R127f.y, PV0f.y); +R1f.y = min(PV0f.x, R124f.w); +R0f.w = max(PV0f.z, -(PV0f.z)); +// 0 +PV0f.x = mul_nonIEEE(R0f.w, intBitsToFloat(uf_remappedVS[11].w)); +PV0f.x = clamp(PV0f.x, 0.0, 1.0); +// 1 +PV1f.z = min(PV0f.x, R0f.x); +// 2 +backupReg0f = R0f.z; +tempf.x = dot(vec4(R2f.z,R2f.y,backupReg0f,R3f.w),vec4(intBitsToFloat(uf_remappedVS[12].x),intBitsToFloat(uf_remappedVS[12].y),intBitsToFloat(uf_remappedVS[12].z),intBitsToFloat(uf_remappedVS[12].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R4f.w = tempf.x; +PS0f = mul_nonIEEE(PV1f.z, R1f.y); +// 3 +PV1f.y = PV0f.x + -(intBitsToFloat(uf_remappedVS[2].w)); +R126f.z = mul_nonIEEE(R1f.z, PS0f); +// 4 +PV0f.x = mul_nonIEEE(PV1f.y, intBitsToFloat(uf_remappedVS[13].w)); +PV0f.x = clamp(PV0f.x, 0.0, 1.0); +// 5 +R5f.w = mul_nonIEEE(R126f.z, PV0f.x); +PV1f.w = R5f.w; +// 6 +PV0f.z = PV1f.w + -(intBitsToFloat(0x3a83126f)); +// 7 +tempf.x = dot(vec4(R2f.z,R2f.y,R0f.z,R3f.w),vec4(intBitsToFloat(uf_remappedVS[14].x),intBitsToFloat(uf_remappedVS[14].y),intBitsToFloat(uf_remappedVS[14].z),intBitsToFloat(uf_remappedVS[14].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R4f.z = tempf.x; +R124f.w = PV0f.z * intBitsToFloat(0x7f7ffffd); +R124f.w = clamp(R124f.w, 0.0, 1.0); +PS1f = R124f.w; +// 8 +PV0f.y = -(PS1f) + 1.0; +R124f.x = 1.0 / PV1f.x; +PS0f = R124f.x; +// 9 +backupReg0f = R0f.z; +tempf.x = dot(vec4(R2f.z,R2f.y,backupReg0f,R3f.w),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),intBitsToFloat(uf_remappedVS[15].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R126f.z = PV0f.y * intBitsToFloat(0x7f7ffffd); +PS1f = R126f.z; +// 10 +backupReg0f = R0f.z; +tempf.x = dot(vec4(R2f.z,R2f.y,backupReg0f,R3f.w),vec4(intBitsToFloat(uf_remappedVS[16].x),intBitsToFloat(uf_remappedVS[16].y),intBitsToFloat(uf_remappedVS[16].z),intBitsToFloat(uf_remappedVS[16].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R4f.x = PV1f.x + PS1f; +PS0f = R4f.x; +// 11 +R4f.y = PV0f.x + R126f.z; +PV1f.w = R124f.x * intBitsToFloat(uf_remappedVS[11].z); +// 12 +R0f.x = mul_nonIEEE(R124f.w, PV1f.w); +// export +SET_POSITION(vec4(R4f.x, R4f.y, R4f.z, R4f.w)); +// export +gl_PointSize = (vec4(R0f.x, R0f.y, R0f.y, R0f.y)).x/resScale; +// export +passParameterSem144 = vec4(R5f.x, R5f.y, R5f.z, R5f.w); +// 0 +} diff --git a/Resolutions/Bayonetta2_Resolution/43a2239f07af804e_0000000000000079_ps.txt b/Resolutions/Bayonetta2_Resolution/43a2239f07af804e_0000000000000079_ps.txt index 6299209b..7cb90e30 100644 --- a/Resolutions/Bayonetta2_Resolution/43a2239f07af804e_0000000000000079_ps.txt +++ b/Resolutions/Bayonetta2_Resolution/43a2239f07af804e_0000000000000079_ps.txt @@ -1,26 +1,19 @@ -#version 420 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +// shader 43a2239f07af804e +// start of shader inputs/outputs, predetermined by Cemu. Do not touch #ifdef VULKAN #define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#define gl_VertexID gl_VertexIndex -#define gl_InstanceID gl_InstanceIndex #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define SET_POSITION(_v) gl_Position = _v #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) #endif -// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. - -// shader 43a2239f07af804e -//horizontal blur -const float resScale = float($height)/float($gameHeight); #ifdef VULKAN layout(set = 1, binding = 1) uniform ufBlock { @@ -34,7 +27,8 @@ uniform vec2 uf_fragCoordScale; TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; layout(location = 0) in vec4 passParameterSem133; layout(location = 0) out vec4 passPixelColor0; -// uf_fragCoordScale was moved to the ufBlock +const float resScale = ($gameWidth / $width); +// end of shader inputs/outputs int clampFI32(int v) { if( v == 0x7FFFFFFF ) @@ -70,17 +64,17 @@ R4f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw); R5f.x = intBitsToFloat(uf_remappedPS[0].x) + -(intBitsToFloat(uf_remappedPS[1].x)); R5f.w = intBitsToFloat(uf_remappedPS[0].y) + -(intBitsToFloat(uf_remappedPS[1].y)); // 1 -R1f.x = R0f.x + intBitsToFloat(0x3c333333)/ resScale; +R1f.x = R0f.x + intBitsToFloat(0x3c333333)*resScale; R1f.y = R0f.y; R5f.z = intBitsToFloat(uf_remappedPS[0].z) + -(intBitsToFloat(uf_remappedPS[1].z)); R2f.w = R0f.y; -R2f.x = R0f.x + intBitsToFloat(0x3b99999a)/ resScale; +R2f.x = R0f.x + intBitsToFloat(0x3b99999a)*resScale; PS1f = R2f.x; // 2 backupReg0f = R0f.x; -R3f.x = R0f.x + -(intBitsToFloat(0x3c333333)/ resScale); +R3f.x = R0f.x + -(intBitsToFloat(0x3c333333)*resScale); R3f.y = R0f.y; -R0f.x = backupReg0f + -(intBitsToFloat(0x3b99999a)/ resScale); +R0f.x = backupReg0f + -(intBitsToFloat(0x3b99999a)*resScale); PS0f = R0f.x; R1f.xyzw = (texture(textureUnitPS0, R1f.xy).xyzw); R2f.xyzw = (texture(textureUnitPS0, R2f.xw).xyzw); diff --git a/Resolutions/Bayonetta2_Resolution/73ac09c3fff4b657_0000000000000079_ps.txt b/Resolutions/Bayonetta2_Resolution/73ac09c3fff4b657_0000000000000079_ps.txt deleted file mode 100644 index 6df1d17e..00000000 --- a/Resolutions/Bayonetta2_Resolution/73ac09c3fff4b657_0000000000000079_ps.txt +++ /dev/null @@ -1,580 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#define gl_VertexID gl_VertexIndex -#define gl_InstanceID gl_InstanceIndex -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define SET_POSITION(_v) gl_Position = _v -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. - -// shader 73ac09c3fff4b657 -//cut scene vert blur //redundant? -const float resScale = float($height)/float($gameHeight); -#ifdef VULKAN -layout(set = 1, binding = 1) uniform ufBlock -{ -uniform ivec4 uf_remappedPS[2]; -uniform vec4 uf_fragCoordScale; -}; -#else -uniform ivec4 uf_remappedPS[2]; -uniform vec2 uf_fragCoordScale; -#endif -TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; -layout(location = 0) in vec4 passParameterSem133; -layout(location = 0) out vec4 passPixelColor0; -// uf_fragCoordScale was moved to the ufBlock -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R5f = vec4(0.0); -vec4 R6f = vec4(0.0); -vec4 R7f = vec4(0.0); -vec4 R8f = vec4(0.0); -vec4 R123f = vec4(0.0); -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 = passParameterSem133; -R4f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw); -// 0 -backupReg0f = R0f.y; -R8f.x = mul_nonIEEE(R4f.w, intBitsToFloat(uf_remappedPS[0].x)/ resScale); -PV0f.x = R8f.x; -PV0f.y = max(R0f.x, 0.0); -PV0f.z = backupReg0f + 0.0; -PV0f.z = clamp(PV0f.z, 0.0, 1.0); -PV0f.w = max(R4f.w, intBitsToFloat(0x3a83126f)); -R127f.w = max(R0f.x, 0.0); -PS0f = R127f.w; -// 1 -backupReg0f = R0f.x; -PV1f.x = max(PV0f.z, 0.0); -PV1f.y = max(backupReg0f, 0.0); -R1f.z = min(PV0f.y, 1.0); -R8f.w = mul_nonIEEE(PV0f.x, intBitsToFloat(uf_remappedPS[1].y)/ resScale); -PV1f.w = R8f.w; -R8f.z = 1.0 / PV0f.w; -PS1f = R8f.z; -// 2 -PV0f.x = R0f.y + PV1f.w; -PV0f.x = clamp(PV0f.x, 0.0, 1.0); -R1f.y = min(PV1f.x, 1.0); -R2f.z = min(R127f.w, 1.0); -R123f.w = (PV1f.w * 2.0 + R0f.y); -R123f.w = clamp(R123f.w, 0.0, 1.0); -PV0f.w = R123f.w; -R3f.x = min(PV1f.y, 1.0); -PS0f = R3f.x; -// 3 -backupReg0f = R0f.x; -PV1f.x = max(PV0f.w, 0.0); -R123f.y = (R8f.w * intBitsToFloat(0x40400000)/ + R0f.y); -R123f.y = clamp(R123f.y, 0.0, 1.0); -PV1f.y = R123f.y; -PV1f.z = max(PV0f.x, 0.0); -PV1f.w = max(backupReg0f, 0.0); -R127f.x = (R8f.w * 4.0 + R0f.y); -R127f.x = clamp(R127f.x, 0.0, 1.0); -PS1f = R127f.x; -// 4 -backupReg0f = R0f.x; -PV0f.x = max(PV1f.y, 0.0); -R2f.y = min(PV1f.z, 1.0); -R3f.z = min(PV1f.x, 1.0); -R3f.w = min(PV1f.w, 1.0); -PS0f = max(backupReg0f, 0.0); -// 5 -R6f.x = min(PS0f, 1.0); -R3f.y = min(PV0f.x, 1.0); -R0f.z = max(R127f.x, 0.0); -R0f.w = (R8f.w * intBitsToFloat(0x40a00000) + R0f.y); -R0f.w = clamp(R0f.w, 0.0, 1.0); -R6f.w = max(R0f.x, 0.0); -PS1f = R6f.w; -R1f.xyzw = (texture(textureUnitPS0, R1f.zy).xyzw); -R2f.xyzw = (texture(textureUnitPS0, R2f.zy).xyzw); -R5f.xyzw = (texture(textureUnitPS0, R3f.xz).xyzw); -R3f.xyzw = (texture(textureUnitPS0, R3f.wy).xyzw); -// 0 -R127f.x = R8f.z * R5f.w; -R127f.x = clamp(R127f.x, 0.0, 1.0); -PV0f.y = R1f.w * R8f.z; -PV0f.y = clamp(PV0f.y, 0.0, 1.0); -R127f.w = R8f.z * R2f.w; -R127f.w = clamp(R127f.w, 0.0, 1.0); -R6f.y = min(R0f.z, 1.0); -PS0f = R6f.y; -// 1 -R123f.x = (mul_nonIEEE(R1f.x,PV0f.y) + R4f.x); -PV1f.x = R123f.x; -PV1f.y = PV0f.y + 1.0; -R123f.z = (mul_nonIEEE(R1f.z,PV0f.y) + R4f.z); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(R1f.y,PV0f.y) + R4f.y); -PV1f.w = R123f.w; -R127f.y = R8f.z * R3f.w; -R127f.y = clamp(R127f.y, 0.0, 1.0); -PS1f = R127f.y; -// 2 -backupReg0f = R0f.w; -R123f.x = (mul_nonIEEE(R2f.z,R127f.w) + PV1f.z); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(R2f.y,R127f.w) + PV1f.w); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(R2f.x,R127f.w) + PV1f.x); -PV0f.z = R123f.z; -PV0f.w = PV1f.y + R127f.w; -R127f.z = max(backupReg0f, 0.0); -PS0f = R127f.z; -// 3 -R123f.x = (mul_nonIEEE(R5f.z,R127f.x) + PV0f.x); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(R5f.y,R127f.x) + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(R5f.x,R127f.x) + PV0f.z); -PV1f.z = R123f.z; -PV1f.w = PV0f.w + R127f.x; -R5f.x = min(R6f.w, 1.0); -PS1f = R5f.x; -// 4 -R2f.x = (mul_nonIEEE(R3f.x,R127f.y) + PV1f.z); -R2f.y = PV1f.w + R127f.y; -R2f.z = (mul_nonIEEE(R3f.z,R127f.y) + PV1f.x); -R3f.w = (mul_nonIEEE(R3f.y,R127f.y) + PV1f.y); -R5f.y = min(R127f.z, 1.0); -PS0f = R5f.y; -// 5 -backupReg0f = R0f.y; -backupReg0f = R0f.y; -R123f.x = (R8f.w * intBitsToFloat(0x40e00000) + R0f.y); -R123f.x = clamp(R123f.x, 0.0, 1.0); -PV1f.x = R123f.x; -PV1f.y = max(R0f.x, 0.0); -R123f.z = (R8f.w * intBitsToFloat(0x40c00000) + backupReg0f); -R123f.z = clamp(R123f.z, 0.0, 1.0); -PV1f.z = R123f.z; -PV1f.w = max(R0f.x, 0.0); -R127f.x = (R8f.w * intBitsToFloat(0x41000000) + backupReg0f); -R127f.x = clamp(R127f.x, 0.0, 1.0); -PS1f = R127f.x; -// 6 -backupReg0f = R0f.x; -PV0f.x = max(PV1f.z, 0.0); -PV0f.y = max(PV1f.x, 0.0); -R3f.z = min(PV1f.y, 1.0); -R5f.w = min(PV1f.w, 1.0); -PS0f = max(backupReg0f, 0.0); -// 7 -R3f.x = max(R127f.x, 0.0); -R3f.y = min(PV0f.x, 1.0); -R5f.z = min(PV0f.y, 1.0); -R0f.w = min(PS0f, 1.0); -R4f.x = (R8f.w * intBitsToFloat(0x41100000) + R0f.y); -R4f.x = clamp(R4f.x, 0.0, 1.0); -PS1f = R4f.x; -R6f.xyzw = (texture(textureUnitPS0, R6f.xy).xyzw); -R1f.xyzw = (texture(textureUnitPS0, R5f.xy).xyzw); -R7f.xyzw = (texture(textureUnitPS0, R3f.zy).xyzw); -R5f.xyzw = (texture(textureUnitPS0, R5f.wz).xyzw); -// 0 -R127f.x = R8f.z * R7f.w; -R127f.x = clamp(R127f.x, 0.0, 1.0); -PV0f.y = R8f.z * R6f.w; -PV0f.y = clamp(PV0f.y, 0.0, 1.0); -R0f.z = min(R3f.x, 1.0); -R127f.w = R8f.z * R1f.w; -R127f.w = clamp(R127f.w, 0.0, 1.0); -R126f.w = max(R0f.x, 0.0); -PS0f = R126f.w; -// 1 -R123f.x = (mul_nonIEEE(R6f.x,PV0f.y) + R2f.x); -PV1f.x = R123f.x; -PV1f.y = R2f.y + PV0f.y; -R123f.z = (mul_nonIEEE(R6f.z,PV0f.y) + R2f.z); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(R6f.y,PV0f.y) + R3f.w); -PV1f.w = R123f.w; -R127f.y = R8f.z * R5f.w; -R127f.y = clamp(R127f.y, 0.0, 1.0); -PS1f = R127f.y; -// 2 -R123f.x = (mul_nonIEEE(R1f.z,R127f.w) + PV1f.z); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(R1f.y,R127f.w) + PV1f.w); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(R1f.x,R127f.w) + PV1f.x); -PV0f.z = R123f.z; -PV0f.w = PV1f.y + R127f.w; -R127f.z = max(R4f.x, 0.0); -PS0f = R127f.z; -// 3 -R123f.x = (mul_nonIEEE(R7f.z,R127f.x) + PV0f.x); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(R7f.y,R127f.x) + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(R7f.x,R127f.x) + PV0f.z); -PV1f.z = R123f.z; -PV1f.w = PV0f.w + R127f.x; -R7f.x = min(R126f.w, 1.0); -PS1f = R7f.x; -// 4 -R1f.x = (mul_nonIEEE(R5f.x,R127f.y) + PV1f.z); -R1f.y = PV1f.w + R127f.y; -R1f.z = (mul_nonIEEE(R5f.z,R127f.y) + PV1f.x); -R5f.w = (mul_nonIEEE(R5f.y,R127f.y) + PV1f.y); -R7f.y = min(R127f.z, 1.0); -PS0f = R7f.y; -// 5 -backupReg0f = R0f.y; -backupReg0f = R0f.y; -R123f.x = (R8f.w * intBitsToFloat(0x41300000) + R0f.y); -R123f.x = clamp(R123f.x, 0.0, 1.0); -PV1f.x = R123f.x; -PV1f.y = max(R0f.x, 0.0); -R123f.z = (R8f.w * intBitsToFloat(0x41200000) + backupReg0f); -R123f.z = clamp(R123f.z, 0.0, 1.0); -PV1f.z = R123f.z; -PV1f.w = max(R0f.x, 0.0); -R127f.x = (R8f.w * intBitsToFloat(0x41400000) + backupReg0f); -R127f.x = clamp(R127f.x, 0.0, 1.0); -PS1f = R127f.x; -// 6 -backupReg0f = R0f.x; -PV0f.x = max(PV1f.z, 0.0); -PV0f.y = max(PV1f.x, 0.0); -R5f.z = min(PV1f.y, 1.0); -R7f.w = min(PV1f.w, 1.0); -PS0f = max(backupReg0f, 0.0); -// 7 -R5f.x = max(R127f.x, 0.0); -R5f.y = min(PV0f.x, 1.0); -R7f.z = min(PV0f.y, 1.0); -R6f.w = min(PS0f, 1.0); -R6f.x = (R8f.w * intBitsToFloat(0x41500000) + R0f.y); -R6f.x = clamp(R6f.x, 0.0, 1.0); -PS1f = R6f.x; -R4f.xyzw = (texture(textureUnitPS0, R0f.wz).xyzw); -R2f.xyzw = (texture(textureUnitPS0, R7f.xy).xyzw); -R3f.xyzw = (texture(textureUnitPS0, R5f.zy).xyzw); -R7f.xyzw = (texture(textureUnitPS0, R7f.wz).xyzw); -// 0 -R127f.x = R8f.z * R3f.w; -R127f.x = clamp(R127f.x, 0.0, 1.0); -PV0f.y = R8f.z * R4f.w; -PV0f.y = clamp(PV0f.y, 0.0, 1.0); -R6f.z = min(R5f.x, 1.0); -R126f.w = R8f.z * R2f.w; -R126f.w = clamp(R126f.w, 0.0, 1.0); -R127f.w = max(R0f.x, 0.0); -PS0f = R127f.w; -// 1 -R123f.x = (mul_nonIEEE(R4f.x,PV0f.y) + R1f.x); -PV1f.x = R123f.x; -PV1f.y = R1f.y + PV0f.y; -R123f.z = (mul_nonIEEE(R4f.z,PV0f.y) + R1f.z); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(R4f.y,PV0f.y) + R5f.w); -PV1f.w = R123f.w; -R127f.y = R8f.z * R7f.w; -R127f.y = clamp(R127f.y, 0.0, 1.0); -PS1f = R127f.y; -// 2 -R123f.x = (mul_nonIEEE(R2f.z,R126f.w) + PV1f.z); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(R2f.y,R126f.w) + PV1f.w); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(R2f.x,R126f.w) + PV1f.x); -PV0f.z = R123f.z; -PV0f.w = PV1f.y + R126f.w; -R127f.z = max(R6f.x, 0.0); -PS0f = R127f.z; -// 3 -R123f.x = (mul_nonIEEE(R3f.z,R127f.x) + PV0f.x); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(R3f.y,R127f.x) + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(R3f.x,R127f.x) + PV0f.z); -PV1f.z = R123f.z; -PV1f.w = PV0f.w + R127f.x; -R3f.x = min(R127f.w, 1.0); -PS1f = R3f.x; -// 4 -R2f.x = (mul_nonIEEE(R7f.x,R127f.y) + PV1f.z); -R2f.y = PV1f.w + R127f.y; -R2f.z = (mul_nonIEEE(R7f.z,R127f.y) + PV1f.x); -R7f.w = (mul_nonIEEE(R7f.y,R127f.y) + PV1f.y); -R3f.y = min(R127f.z, 1.0); -PS0f = R3f.y; -// 5 -backupReg0f = R0f.y; -backupReg0f = R0f.y; -R123f.x = (R8f.w * intBitsToFloat(0x41700000) + R0f.y); -R123f.x = clamp(R123f.x, 0.0, 1.0); -PV1f.x = R123f.x; -PV1f.y = max(R0f.x, 0.0); -R123f.z = (R8f.w * intBitsToFloat(0x41600000) + backupReg0f); -R123f.z = clamp(R123f.z, 0.0, 1.0); -PV1f.z = R123f.z; -PV1f.w = max(R0f.x, 0.0); -R127f.x = (R8f.w * intBitsToFloat(0x41800000) + backupReg0f); -R127f.x = clamp(R127f.x, 0.0, 1.0); -PS1f = R127f.x; -// 6 -backupReg0f = R0f.x; -PV0f.x = max(PV1f.z, 0.0); -PV0f.y = max(PV1f.x, 0.0); -R7f.z = min(PV1f.y, 1.0); -R3f.w = min(PV1f.w, 1.0); -PS0f = max(backupReg0f, 0.0); -// 7 -R7f.x = max(R127f.x, 0.0); -R7f.y = min(PV0f.x, 1.0); -R3f.z = min(PV0f.y, 1.0); -R4f.w = min(PS0f, 1.0); -R4f.x = (R8f.w * intBitsToFloat(0x41880000) + R0f.y); -R4f.x = clamp(R4f.x, 0.0, 1.0); -PS1f = R4f.x; -R6f.xyzw = (texture(textureUnitPS0, R6f.wz).xyzw); -R1f.xyzw = (texture(textureUnitPS0, R3f.xy).xyzw); -R5f.xyzw = (texture(textureUnitPS0, R7f.zy).xyzw); -R3f.xyzw = (texture(textureUnitPS0, R3f.wz).xyzw); -// 0 -R127f.x = R8f.z * R5f.w; -R127f.x = clamp(R127f.x, 0.0, 1.0); -PV0f.y = R8f.z * R6f.w; -PV0f.y = clamp(PV0f.y, 0.0, 1.0); -R4f.z = min(R7f.x, 1.0); -R127f.w = R8f.z * R1f.w; -R127f.w = clamp(R127f.w, 0.0, 1.0); -R126f.w = max(R0f.x, 0.0); -PS0f = R126f.w; -// 1 -R123f.x = (mul_nonIEEE(R6f.x,PV0f.y) + R2f.x); -PV1f.x = R123f.x; -PV1f.y = R2f.y + PV0f.y; -R123f.z = (mul_nonIEEE(R6f.z,PV0f.y) + R2f.z); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(R6f.y,PV0f.y) + R7f.w); -PV1f.w = R123f.w; -R127f.y = R8f.z * R3f.w; -R127f.y = clamp(R127f.y, 0.0, 1.0); -PS1f = R127f.y; -// 2 -R123f.x = (mul_nonIEEE(R1f.z,R127f.w) + PV1f.z); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(R1f.y,R127f.w) + PV1f.w); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(R1f.x,R127f.w) + PV1f.x); -PV0f.z = R123f.z; -PV0f.w = PV1f.y + R127f.w; -R127f.z = max(R4f.x, 0.0); -PS0f = R127f.z; -// 3 -R123f.x = (mul_nonIEEE(R5f.z,R127f.x) + PV0f.x); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(R5f.y,R127f.x) + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(R5f.x,R127f.x) + PV0f.z); -PV1f.z = R123f.z; -PV1f.w = PV0f.w + R127f.x; -R5f.x = min(R126f.w, 1.0); -PS1f = R5f.x; -// 4 -R1f.x = (mul_nonIEEE(R3f.x,R127f.y) + PV1f.z); -R1f.y = PV1f.w + R127f.y; -R1f.z = (mul_nonIEEE(R3f.z,R127f.y) + PV1f.x); -R3f.w = (mul_nonIEEE(R3f.y,R127f.y) + PV1f.y); -R5f.y = min(R127f.z, 1.0); -PS0f = R5f.y; -// 5 -backupReg0f = R0f.y; -backupReg0f = R0f.y; -R123f.x = (R8f.w * intBitsToFloat(0x41980000) + R0f.y); -R123f.x = clamp(R123f.x, 0.0, 1.0); -PV1f.x = R123f.x; -PV1f.y = max(R0f.x, 0.0); -R123f.z = (R8f.w * intBitsToFloat(0x41900000) + backupReg0f); -R123f.z = clamp(R123f.z, 0.0, 1.0); -PV1f.z = R123f.z; -PV1f.w = max(R0f.x, 0.0); -R127f.x = (R8f.w * intBitsToFloat(0x41a00000) + backupReg0f); -R127f.x = clamp(R127f.x, 0.0, 1.0); -PS1f = R127f.x; -// 6 -backupReg0f = R0f.x; -PV0f.x = max(PV1f.z, 0.0); -PV0f.y = max(PV1f.x, 0.0); -R3f.z = min(PV1f.y, 1.0); -R5f.w = min(PV1f.w, 1.0); -PS0f = max(backupReg0f, 0.0); -// 7 -R3f.x = max(R127f.x, 0.0); -R3f.y = min(PV0f.x, 1.0); -R5f.z = min(PV0f.y, 1.0); -R6f.w = min(PS0f, 1.0); -R6f.x = (R8f.w * intBitsToFloat(0x41a80000) + R0f.y); -R6f.x = clamp(R6f.x, 0.0, 1.0); -PS1f = R6f.x; -R4f.xyzw = (texture(textureUnitPS0, R4f.wz).xyzw); -R2f.xyzw = (texture(textureUnitPS0, R5f.xy).xyzw); -R7f.xyzw = (texture(textureUnitPS0, R3f.zy).xyzw); -R5f.xyzw = (texture(textureUnitPS0, R5f.wz).xyzw); -// 0 -R127f.x = R8f.z * R7f.w; -R127f.x = clamp(R127f.x, 0.0, 1.0); -PV0f.y = R8f.z * R4f.w; -PV0f.y = clamp(PV0f.y, 0.0, 1.0); -R6f.z = min(R3f.x, 1.0); -R126f.w = R8f.z * R2f.w; -R126f.w = clamp(R126f.w, 0.0, 1.0); -R127f.w = max(R0f.x, 0.0); -PS0f = R127f.w; -// 1 -R123f.x = (mul_nonIEEE(R4f.x,PV0f.y) + R1f.x); -PV1f.x = R123f.x; -PV1f.y = R1f.y + PV0f.y; -R123f.z = (mul_nonIEEE(R4f.z,PV0f.y) + R1f.z); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(R4f.y,PV0f.y) + R3f.w); -PV1f.w = R123f.w; -R127f.y = R8f.z * R5f.w; -R127f.y = clamp(R127f.y, 0.0, 1.0); -PS1f = R127f.y; -// 2 -R123f.x = (mul_nonIEEE(R2f.z,R126f.w) + PV1f.z); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(R2f.y,R126f.w) + PV1f.w); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(R2f.x,R126f.w) + PV1f.x); -PV0f.z = R123f.z; -PV0f.w = PV1f.y + R126f.w; -R127f.z = max(R6f.x, 0.0); -PS0f = R127f.z; -// 3 -R123f.x = (mul_nonIEEE(R7f.z,R127f.x) + PV0f.x); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(R7f.y,R127f.x) + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(R7f.x,R127f.x) + PV0f.z); -PV1f.z = R123f.z; -PV1f.w = PV0f.w + R127f.x; -R7f.x = min(R127f.w, 1.0); -PS1f = R7f.x; -// 4 -backupReg0f = R5f.x; -backupReg1f = R5f.z; -backupReg2f = R5f.y; -R5f.x = (mul_nonIEEE(backupReg0f,R127f.y) + PV1f.z); -R5f.y = PV1f.w + R127f.y; -R5f.z = (mul_nonIEEE(backupReg1f,R127f.y) + PV1f.x); -R5f.w = (mul_nonIEEE(backupReg2f,R127f.y) + PV1f.y); -R7f.y = min(R127f.z, 1.0); -PS0f = R7f.y; -// 5 -backupReg0f = R0f.y; -R123f.x = (R8f.w * intBitsToFloat(0x41b80000) + R0f.y); -R123f.x = clamp(R123f.x, 0.0, 1.0); -PV1f.x = R123f.x; -PV1f.y = max(R0f.x, 0.0); -R123f.z = (R8f.w * intBitsToFloat(0x41b00000) + backupReg0f); -R123f.z = clamp(R123f.z, 0.0, 1.0); -PV1f.z = R123f.z; -PV1f.w = max(R0f.x, 0.0); -R1f.w = R8f.x; -R1f.w *= 2.0; -PS1f = R1f.w; -// 6 -PV0f.x = max(PV1f.z, 0.0); -PV0f.y = max(PV1f.x, 0.0); -R0f.z = min(PV1f.y, 1.0); -R0f.w = min(PV1f.w, 1.0); -// 7 -R0f.x = min(PV0f.y, 1.0); -R0f.y = min(PV0f.x, 1.0); -R6f.xyzw = (texture(textureUnitPS0, R6f.wz).xyzw); -R7f.xyzw = (texture(textureUnitPS0, R7f.xy).xyzw); -R2f.xyzw = (texture(textureUnitPS0, R0f.zy).xyzw); -R0f.xyzw = (texture(textureUnitPS0, R0f.wx).xyzw); -// 0 -R127f.x = R8f.z * R2f.w; -R127f.x = clamp(R127f.x, 0.0, 1.0); -PV0f.y = R8f.z * R6f.w; -PV0f.y = clamp(PV0f.y, 0.0, 1.0); -R127f.w = R8f.z * R7f.w; -R127f.w = clamp(R127f.w, 0.0, 1.0); -// 1 -R123f.x = (mul_nonIEEE(R6f.x,PV0f.y) + R5f.x); -PV1f.x = R123f.x; -PV1f.y = R5f.y + PV0f.y; -R123f.z = (mul_nonIEEE(R6f.z,PV0f.y) + R5f.z); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(R6f.y,PV0f.y) + R5f.w); -PV1f.w = R123f.w; -R127f.y = R8f.z * R0f.w; -R127f.y = clamp(R127f.y, 0.0, 1.0); -PS1f = R127f.y; -// 2 -R123f.x = (mul_nonIEEE(R7f.z,R127f.w) + PV1f.z); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(R7f.y,R127f.w) + PV1f.w); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(R7f.x,R127f.w) + PV1f.x); -PV0f.z = R123f.z; -PV0f.w = PV1f.y + R127f.w; -// 3 -R123f.x = (mul_nonIEEE(R2f.z,R127f.x) + PV0f.x); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(R2f.y,R127f.x) + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(R2f.x,R127f.x) + PV0f.z); -PV1f.z = R123f.z; -PV1f.w = PV0f.w + R127f.x; -// 4 -backupReg0f = R0f.y; -R127f.x = (mul_nonIEEE(R0f.x,R127f.y) + PV1f.z); -PV0f.y = PV1f.w + R127f.y; -R127f.z = (mul_nonIEEE(R0f.z,R127f.y) + PV1f.x); -R127f.w = (mul_nonIEEE(backupReg0f,R127f.y) + PV1f.y); -// 5 -PS1f = 1.0 / PV0f.y; -// 6 -R1f.x = R127f.x * PS1f; -R1f.y = R127f.w * PS1f; -R1f.z = R127f.z * PS1f; -// export -passPixelColor0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -} diff --git a/Resolutions/Bayonetta2_Resolution/75387173950c1793_0000000000000079_ps.txt b/Resolutions/Bayonetta2_Resolution/75387173950c1793_0000000000000079_ps.txt index 1b564ab3..f94d8634 100644 --- a/Resolutions/Bayonetta2_Resolution/75387173950c1793_0000000000000079_ps.txt +++ b/Resolutions/Bayonetta2_Resolution/75387173950c1793_0000000000000079_ps.txt @@ -1,26 +1,19 @@ -#version 420 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +// shader 75387173950c1793//bloom vert +// start of shader inputs/outputs, predetermined by Cemu. Do not touch #ifdef VULKAN #define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#define gl_VertexID gl_VertexIndex -#define gl_InstanceID gl_InstanceIndex #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define SET_POSITION(_v) gl_Position = _v #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) #endif -// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. - -// shader 75387173950c1793 -//vert blur -const float resScale = float($height)/float($gameHeight); #ifdef VULKAN layout(set = 1, binding = 1) uniform ufBlock { @@ -34,7 +27,8 @@ uniform vec2 uf_fragCoordScale; TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; layout(location = 0) in vec4 passParameterSem133; layout(location = 0) out vec4 passPixelColor0; -// uf_fragCoordScale was moved to the ufBlock +// end of shader inputs/outputs +const float resScale = float($gameWidth / $width); int clampFI32(int v) { if( v == 0x7FFFFFFF ) @@ -66,14 +60,14 @@ R0f = passParameterSem133; R4f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw); // 0 R1f.x = R0f.x; -R1f.y = R0f.y + intBitsToFloat(0x3ca2e8ba)/ resScale; +R1f.y = R0f.y + intBitsToFloat(0x3ca2e8ba)*resScale; R2f.z = R0f.x; -R2f.y = R0f.y + intBitsToFloat(0x3c0ba2e9)/ resScale; +R2f.y = R0f.y + intBitsToFloat(0x3c0ba2e9)*resScale; PS0f = R2f.y; // 1 R3f.x = R0f.x; -R3f.y = R0f.y + -(intBitsToFloat(0x3ca2e8ba)/ resScale); -R0f.z = R0f.y + -(intBitsToFloat(0x3c0ba2e9)/ resScale); +R3f.y = R0f.y + -(intBitsToFloat(0x3ca2e8ba))*resScale; +R0f.z = R0f.y + -(intBitsToFloat(0x3c0ba2e9))*resScale; R1f.xyzw = (texture(textureUnitPS0, R1f.xy).xyzw); R2f.xyzw = (texture(textureUnitPS0, R2f.zy).xyzw); R3f.xyzw = (texture(textureUnitPS0, R3f.xy).xyzw); diff --git a/Resolutions/Bayonetta2_Resolution/78a2659662685d55_0000000000000079_ps.txt b/Resolutions/Bayonetta2_Resolution/78a2659662685d55_0000000000000079_ps.txt index 8a4b4ba1..e33efd03 100644 --- a/Resolutions/Bayonetta2_Resolution/78a2659662685d55_0000000000000079_ps.txt +++ b/Resolutions/Bayonetta2_Resolution/78a2659662685d55_0000000000000079_ps.txt @@ -1,28 +1,19 @@ -#version 420 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +// shader 78a2659662685d55 //menu AA +// start of shader inputs/outputs, predetermined by Cemu. Do not touch #ifdef VULKAN #define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#define gl_VertexID gl_VertexIndex -#define gl_InstanceID gl_InstanceIndex #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define SET_POSITION(_v) gl_Position = _v #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) #endif -// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. - -// shader 78a2659662685d55 -//specular highlight -TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; -layout(location = 0) in vec4 passParameterSem133; -layout(location = 0) out vec4 passPixelColor0; #ifdef VULKAN layout(set = 1, binding = 1) uniform ufBlock { @@ -31,7 +22,11 @@ uniform vec4 uf_fragCoordScale; #else uniform vec2 uf_fragCoordScale; #endif -float scaleFactor = uf_fragCoordScale.x; +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; +layout(location = 0) in vec4 passParameterSem133; +layout(location = 0) out vec4 passPixelColor0; +const float resScale = ($gameWidth / $width); +// end of shader inputs/outputs int clampFI32(int v) { if( v == 0x7FFFFFFF ) @@ -96,14 +91,14 @@ int cubeMapFaceId; R0i = floatBitsToInt(passParameterSem133); if( activeMaskStackC[1] == true ) { // 0 -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(R0i.x),intBitsToFloat(R0i.y),intBitsToFloat(R0i.x)) + vec3(0.0,0.0,intBitsToFloat(0xba99999a))*scaleFactor); +R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(R0i.x),intBitsToFloat(R0i.y),intBitsToFloat(R0i.x)) + vec3(0.0,0.0,intBitsToFloat(0xba99999a)*resScale)); R1i.w = floatBitsToInt(intBitsToFloat(R0i.y) + 0.0); -R2i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(0x3a99999a)*scaleFactor); +R2i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(0x3a99999a)*resScale); PS0i = R2i.x; // 1 R3i.x = floatBitsToInt(intBitsToFloat(R0i.x) + 0.0); R2i.y = floatBitsToInt(intBitsToFloat(R0i.y) + 0.0); -R3i.zwy = floatBitsToInt(vec3(intBitsToFloat(R0i.y),intBitsToFloat(R0i.x),intBitsToFloat(R0i.y)) + vec3(intBitsToFloat(0xbb088889)*scaleFactor,0.0,intBitsToFloat(0x3b088889)*scaleFactor)); +R3i.zwy = floatBitsToInt(vec3(intBitsToFloat(R0i.y),intBitsToFloat(R0i.x),intBitsToFloat(R0i.y)) + vec3(intBitsToFloat(0xbb088889)*resScale,0.0,intBitsToFloat(0x3b088889)*resScale)); PS1i = R3i.y; } if( activeMaskStackC[1] == true ) { @@ -123,7 +118,7 @@ R127i.z = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(R9i.y)); R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0); R127i.w = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R9i.x)); R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); -R3i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(0xba4ccccd)*scaleFactor); +R3i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(0xba4ccccd)*resScale); PS0i = R3i.x; // 1 R5i.x = floatBitsToInt(intBitsToFloat(R10i.z) + intBitsToFloat(R11i.z)); @@ -137,15 +132,15 @@ R4i.w = floatBitsToInt(intBitsToFloat(R4i.w) * 2.0); R3i.y = floatBitsToInt(intBitsToFloat(R0i.y) + 0.0); PS1i = R3i.y; // 2 -R2i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(0x3a4ccccd)*scaleFactor); +R2i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(0x3a4ccccd)*resScale); R2i.y = floatBitsToInt(intBitsToFloat(R0i.y) + 0.0); R3i.z = floatBitsToInt(intBitsToFloat(R0i.x) + 0.0); -R3i.w = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(0xbab60b61)*scaleFactor); +R3i.w = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(0xbab60b61)*resScale); R1i.x = floatBitsToInt(intBitsToFloat(R0i.x) + 0.0); PS0i = R1i.x; // 3 R4i.x = floatBitsToInt((intBitsToFloat(R7i.y) * 2.0 + intBitsToFloat(R127i.z))); -R1i.y = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(0x3ab60b61)*scaleFactor); +R1i.y = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(0x3ab60b61)*resScale); R1i.z = floatBitsToInt((intBitsToFloat(R7i.x) * 2.0 + intBitsToFloat(R127i.w))); R1i.w = floatBitsToInt((intBitsToFloat(R7i.z) * 2.0 + intBitsToFloat(R127i.y))); R2i.w = floatBitsToInt((intBitsToFloat(R7i.w) * 2.0 + intBitsToFloat(R127i.x))); @@ -198,7 +193,7 @@ R127i.w = floatBitsToInt(max(intBitsToFloat(PV1i.z), -(intBitsToFloat(PV1i.z)))) R127i.z = floatBitsToInt(intBitsToFloat(R1i.w) * intBitsToFloat(0x3e2aaaab)); PS0i = R127i.z; // 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(0x3e991687)*scaleFactor,intBitsToFloat(0x3f1645a2)*scaleFactor,intBitsToFloat(0x3de978d5)*scaleFactor,0.0))); +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); PV1i.x = tempi.x; PV1i.y = tempi.x; PV1i.z = tempi.x; @@ -229,7 +224,7 @@ R124i.y = floatBitsToInt(intBitsToFloat(R125i.y) * intBitsToFloat(0x3e2aaaab)); R125i.z = floatBitsToInt(intBitsToFloat(R126i.x) * intBitsToFloat(0x3e2aaaab)); R123i.w = floatBitsToInt((intBitsToFloat(R7i.w) * 2.0 + intBitsToFloat(R4i.y))); PV0i.w = R123i.w; -R126i.w = floatBitsToInt((intBitsToFloat(backupReg1i) * intBitsToFloat(0x40400000) + -(intBitsToFloat(0x3dcccccd)*scaleFactor))); +R126i.w = floatBitsToInt((intBitsToFloat(backupReg1i) * intBitsToFloat(0x40400000) + -(intBitsToFloat(0x3dcccccd)*resScale))); PS0i = R126i.w; // 9 backupReg0i = R125i.x; @@ -237,12 +232,12 @@ backupReg1i = R127i.w; R125i.x = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(R1i.y)); R125i.y = floatBitsToInt(-(intBitsToFloat(R7i.z)) + intBitsToFloat(R127i.z)); R124i.z = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x3e2aaaab)); -R127i.w = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x40400000) + -(intBitsToFloat(0x3dcccccd)*scaleFactor))); +R127i.w = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x40400000) + -(intBitsToFloat(0x3dcccccd)*resScale))); R126i.z = floatBitsToInt(-(intBitsToFloat(R7i.w)) + intBitsToFloat(backupReg1i)); PS1i = R126i.z; // 10 backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R124i.y),intBitsToFloat(R125i.z),-0.0),vec4(intBitsToFloat(0x3e991687)*scaleFactor,intBitsToFloat(0x3f1645a2)*scaleFactor,intBitsToFloat(0x3de978d5)*scaleFactor,0.0))); +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R124i.y),intBitsToFloat(R125i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); PV0i.x = tempi.x; PV0i.y = tempi.x; PV0i.z = tempi.x; @@ -250,7 +245,7 @@ PV0i.w = tempi.x; R4i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + 0.0); PS0i = R4i.y; // 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.x),intBitsToFloat(R1i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(0x3e991687)*scaleFactor,intBitsToFloat(0x3f1645a2)*scaleFactor,intBitsToFloat(0x3de978d5)*scaleFactor,0.0))); +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.x),intBitsToFloat(R1i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); PV1i.x = tempi.x; PV1i.y = tempi.x; PV1i.z = tempi.x; @@ -260,8 +255,8 @@ PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); R124i.x = floatBitsToInt(intBitsToFloat(R126i.w) * intBitsToFloat(PS1i)); R124i.x = clampFI32(R124i.x); R1i.y = floatBitsToInt(intBitsToFloat(R0i.y) + 0.0); -R4i.z = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(0x3b333333)*scaleFactor); -R1i.w = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(0x3b8ccccd)*scaleFactor); +R4i.z = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(0x3b333333)*resScale); +R1i.w = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(0x3b8ccccd)*resScale); PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); // 13 backupReg0i = R0i.x; @@ -269,8 +264,8 @@ backupReg0i = R0i.x; PV1i.x = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS0i)); PV1i.x = clampFI32(PV1i.x); R2i.y = floatBitsToInt(intBitsToFloat(R0i.y) + 0.0); -R2i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(0x3bc00000)*scaleFactor); -R3i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(0xbb333333)*scaleFactor); +R2i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(0x3bc00000)); +R3i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(0xbb333333)); R3i.y = floatBitsToInt(intBitsToFloat(R0i.y) + 0.0); PS1i = R3i.y; // 14 @@ -284,7 +279,7 @@ R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat PV0i.z = R126i.z; R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PV1i.x)) + intBitsToFloat(R7i.x))); PV0i.w = R125i.w; -R5i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(0xbb8ccccd)*scaleFactor); +R5i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(0xbb8ccccd)); PS0i = R5i.x; // 15 backupReg0i = R0i.y; @@ -303,7 +298,7 @@ R16i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R124i R16i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R124i.x)) + intBitsToFloat(R126i.z))); R16i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R124i.x)) + intBitsToFloat(R125i.x))); R16i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R124i.x)) + intBitsToFloat(R125i.y))); -R6i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(0xbbc00000)*scaleFactor); +R6i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(0xbbc00000)); PS0i = R6i.x; } if( activeMaskStackC[1] == true ) { @@ -317,15 +312,15 @@ if( activeMaskStackC[1] == true ) { // 0 R5i.x = floatBitsToInt(intBitsToFloat(R0i.x) + 0.0); R6i.y = floatBitsToInt(intBitsToFloat(R0i.y) + 0.0); -R5i.z = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(0x3b9f49f5)*scaleFactor); +R5i.z = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(0x3b9f49f5)*resScale); PV0i.w = floatBitsToInt(intBitsToFloat(R9i.w) + intBitsToFloat(R17i.w)); R3i.x = floatBitsToInt(intBitsToFloat(R0i.x) + 0.0); PS0i = R3i.x; // 1 R1i.x = floatBitsToInt(intBitsToFloat(R0i.x) + 0.0); -R3i.y = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(0x3bfa4fa5)*scaleFactor); +R3i.y = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(0x3bfa4fa5)*resScale); R2i.z = floatBitsToInt(intBitsToFloat(R18i.w) + intBitsToFloat(PV0i.w)); -R1i.w = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(0x3c2aaaab)*scaleFactor); +R1i.w = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(0x3c2aaaab)*resScale); R4i.x = floatBitsToInt(intBitsToFloat(R0i.x) + 0.0); PS1i = R4i.x; } @@ -342,14 +337,14 @@ backupReg1i = R0i.x; backupReg0i = R0i.y; PV0i.x = floatBitsToInt(intBitsToFloat(R11i.w) + intBitsToFloat(R6i.w)); PV0i.y = floatBitsToInt(intBitsToFloat(R19i.w) + intBitsToFloat(R2i.z)); -R4i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(0xbb9f49f5)*scaleFactor); +R4i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(0xbb9f49f5)*resScale); R1i.w = floatBitsToInt(intBitsToFloat(backupReg1i) + 0.0); -R1i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(0xbbfa4fa5)*scaleFactor); +R1i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(0xbbfa4fa5)*resScale); PS0i = R1i.y; // 1 backupReg0i = R3i.w; R1i.x = floatBitsToInt(intBitsToFloat(R8i.w) + intBitsToFloat(PV0i.y)); -R2i.y = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(0xbc2aaaab)*scaleFactor); +R2i.y = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(0xbc2aaaab)*resScale); R2i.z = floatBitsToInt(intBitsToFloat(R0i.x) + 0.0); R3i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.x)); } @@ -463,7 +458,7 @@ R127i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e000000)); R126i.w = floatBitsToInt(intBitsToFloat(R22i.x) + intBitsToFloat(PV1i.x)); PS0i = R126i.w; // 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(0x3e991687)*scaleFactor,intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); PV1i.x = tempi.x; PV1i.y = tempi.x; PV1i.z = tempi.x; @@ -472,7 +467,7 @@ R1i.z = tempi.x; R126i.z = floatBitsToInt(intBitsToFloat(R22i.y) + intBitsToFloat(R127i.y)); PS1i = R126i.z; // 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(0x3e991687)*scaleFactor,intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); PV0i.x = tempi.x; PV0i.y = tempi.x; PV0i.z = tempi.x; @@ -481,7 +476,7 @@ R125i.y = tempi.x; R127i.y = floatBitsToInt(intBitsToFloat(R22i.z) + intBitsToFloat(R127i.x)); PS0i = R127i.y; // 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(0x3e991687)*scaleFactor,intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); PV1i.x = tempi.x; PV1i.y = tempi.x; PV1i.z = tempi.x; @@ -496,7 +491,7 @@ R126i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3e000000 PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + -(intBitsToFloat(R125i.y))); PS0i = floatBitsToInt(1.0 / intBitsToFloat(PS1i)); // 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R14i.x),intBitsToFloat(R14i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(0x3e991687)*scaleFactor,intBitsToFloat(0x3f1645a2)*scaleFactor,intBitsToFloat(0x3de978d5)*scaleFactor,0.0))); +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R14i.x),intBitsToFloat(R14i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); PV1i.x = tempi.x; PV1i.y = tempi.x; PV1i.z = tempi.x; @@ -506,7 +501,7 @@ R127i.z = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(PS0i)); R127i.z = clampFI32(R127i.z); PS1i = R127i.z; // 14 -R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(0x3e991687)*scaleFactor,intBitsToFloat(0x3f1645a2)*scaleFactor,intBitsToFloat(0x3de978d5)*scaleFactor,0.0))); +R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); PV0i.x = R1i.x; PV0i.y = R1i.x; PV0i.z = R1i.x; @@ -514,7 +509,7 @@ PV0i.w = R1i.x; R127i.x = floatBitsToInt(intBitsToFloat(R1i.z) + -(intBitsToFloat(PV1i.x))); PS0i = R127i.x; // 15 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(0x3e991687)*scaleFactor,intBitsToFloat(0x3f1645a2)*scaleFactor,intBitsToFloat(0x3de978d5)*scaleFactor,0.0))); +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); PV1i.x = tempi.x; PV1i.y = tempi.x; PV1i.z = tempi.x; @@ -545,7 +540,7 @@ R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(PV1i. R124i.y = floatBitsToInt(intBitsToFloat(R127i.w) + -(intBitsToFloat(R1i.z))); PS0i = R124i.y; // 19 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R15i.x),intBitsToFloat(R15i.y),intBitsToFloat(R15i.z),-0.0),vec4(intBitsToFloat(0x3e991687)*scaleFactor,intBitsToFloat(0x3f1645a2)*scaleFactor,intBitsToFloat(0x3de978d5)*scaleFactor,0.0))); +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R15i.x),intBitsToFloat(R15i.y),intBitsToFloat(R15i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); PV1i.x = tempi.x; PV1i.y = tempi.x; PV1i.z = tempi.x; @@ -652,16 +647,16 @@ R16i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R0i.z activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; if( activeMaskStackC[1] == true ) { // 0 -R1i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(0xba99999a)*scaleFactor); -R1i.y = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(0xbb088889)*scaleFactor); -R0i.z = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(0x3a99999a)*scaleFactor); -R0i.w = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(0xbb088889)*scaleFactor); -R2i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(0xba99999a)*scaleFactor); +R1i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(0xba99999a)); +R1i.y = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(0xbb088889)); +R0i.z = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(0x3a99999a)); +R0i.w = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(0xbb088889)); +R2i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(0xba99999a)); PS0i = R2i.x; // 1 -R3i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(0x3a99999a)*scaleFactor); -R2i.y = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(0x3b088889)*scaleFactor); -R3i.z = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(0x3b088889)*scaleFactor); +R3i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(0x3a99999a)); +R2i.y = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(0x3b088889)); +R3i.z = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(0x3b088889)); R4i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R16i.x))); R1i.z = floatBitsToInt(intBitsToFloat(R7i.y) + -(intBitsToFloat(R16i.y))); PS1i = R1i.z; diff --git a/Resolutions/Bayonetta2_Resolution/7ca214032b834227_0000000000000000_vs.txt b/Resolutions/Bayonetta2_Resolution/7ca214032b834227_0000000000000000_vs.txt new file mode 100644 index 00000000..37879aa0 --- /dev/null +++ b/Resolutions/Bayonetta2_Resolution/7ca214032b834227_0000000000000000_vs.txt @@ -0,0 +1,670 @@ +#version 430 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +// shader 7ca214032b834227 //point "sprites" 2 unverified +// start of shader inputs/outputs, predetermined by Cemu. Do not touch +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#endif +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ +uniform ivec4 uf_uniformRegisterVS[256]; +}; +#else +uniform ivec4 uf_uniformRegisterVS[256]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem7; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +layout(location = 0) out vec4 passParameterSem144; +// end of shader inputs/outputs +const float resScale = float($gameWidth / $width); + +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 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); +uvec4 attrDecoder; +int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; +ivec4 PV0i = ivec4(0), PV1i = ivec4(0); +int PS0i = 0, PS1i = 0; +ivec4 tempi = ivec4(0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); +attrDecoder.xyz = attrDataSem0.xyz; +attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); +attrDecoder.w = 0; +R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); +attrDecoder.xyzw = attrDataSem2.xyzw; +R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); +attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); +R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); +attrDecoder.xyzw = attrDataSem5.xyzw; +attrDecoder = ((attrDecoder>>8)&0xFF)|((attrDecoder<<8)&0xFF00); +attrDecoder.xyzw = floatBitsToInt(vec4(unpackHalf2x16(attrDecoder.x|(attrDecoder.y<<16)),unpackHalf2x16(attrDecoder.z|(attrDecoder.w<<16)))); +R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); +attrDecoder.xyzw = attrDataSem6.xyzw; +attrDecoder = ((attrDecoder>>8)&0xFF)|((attrDecoder<<8)&0xFF00); +attrDecoder.xyzw = floatBitsToInt(vec4(unpackHalf2x16(attrDecoder.x|(attrDecoder.y<<16)),unpackHalf2x16(attrDecoder.z|(attrDecoder.w<<16)))); +R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); +attrDecoder.xyzw = attrDataSem7.xyzw; +attrDecoder = ((attrDecoder>>8)&0xFF)|((attrDecoder<<8)&0xFF00); +attrDecoder.xyzw = floatBitsToInt(vec4(unpackHalf2x16(attrDecoder.x|(attrDecoder.y<<16)),unpackHalf2x16(attrDecoder.z|(attrDecoder.w<<16)))); +R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); +// 0 +PV0i.x = floatBitsToInt(max(intBitsToFloat(R4i.w), -(intBitsToFloat(R4i.w)))); +R13i.y = floatBitsToInt(max(intBitsToFloat(uf_uniformRegisterVS[196].w), -(intBitsToFloat(uf_uniformRegisterVS[196].w)))); +R125i.z = floatBitsToInt(max(intBitsToFloat(uf_uniformRegisterVS[197].w), -(intBitsToFloat(uf_uniformRegisterVS[197].w)))); +R7i.w = 0x3f800000; +R127i.x = R1i.y * 0x00000003; +PS0i = R127i.x; +// 1 +PV1i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[197].w) > 0.0)?1.0:0.0); +R15i.y = 0x3f800000; +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[193].y))); +PV1i.w = floatBitsToInt((0.0 > intBitsToFloat(uf_uniformRegisterVS[197].w))?1.0:0.0); +R127i.z = R1i.x * 0x00000003; +PS1i = R127i.z; +// 2 +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(uf_uniformRegisterVS[198].x))); +R8i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(uf_uniformRegisterVS[193].x)); +PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + -(intBitsToFloat(PV1i.w))); +R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(uf_uniformRegisterVS[198].y))); +R126i.z = R1i.z * 0x00000003; +PS0i = R126i.z; +// 3 +backupReg0i = R127i.x; +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(uf_uniformRegisterVS[198].z))); +R10i.y = floatBitsToInt(max(intBitsToFloat(PV0i.z), -(intBitsToFloat(PV0i.z)))); +R11i.z = floatBitsToInt(-(intBitsToFloat(uf_uniformRegisterVS[201].y)) * intBitsToFloat(0x7f7ffffd)); +R11i.z = clampFI32(R11i.z); +R9i.w = floatBitsToInt(-(intBitsToFloat(uf_uniformRegisterVS[201].x)) * intBitsToFloat(0x7f7ffffd)); +R9i.w = clampFI32(R9i.w); +R126i.w = floatBitsToInt(float(backupReg0i)); +PS1i = R126i.w; +// 4 +tempResultf = intBitsToFloat(PS1i); +tempResultf = floor(tempResultf); +tempResultf = clamp(tempResultf, -256.0, 255.0); +ARi.x = int(tempResultf); +PV0i.x = floatBitsToInt(tempResultf); +R12i.y = floatBitsToInt(max(intBitsToFloat(uf_uniformRegisterVS[201].x), -(intBitsToFloat(uf_uniformRegisterVS[201].x)))); +R10i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(uf_uniformRegisterVS[197].y)); +R8i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(uf_uniformRegisterVS[197].x)); +R127i.y = floatBitsToInt(float(R127i.z)); +PS0i = R127i.y; +// 5 +R9i.x = floatBitsToInt(max(intBitsToFloat(uf_uniformRegisterVS[201].y), -(intBitsToFloat(uf_uniformRegisterVS[201].y)))); +tempResultf = intBitsToFloat(PS0i); +tempResultf = floor(tempResultf); +tempResultf = clamp(tempResultf, -256.0, 255.0); +ARi.y = int(tempResultf); +PV1i.y = floatBitsToInt(tempResultf); +R12i.z = floatBitsToInt(-(intBitsToFloat(uf_uniformRegisterVS[201].z)) * intBitsToFloat(0x7f7ffffd)); +R12i.z = clampFI32(R12i.z); +R10i.w = floatBitsToInt(max(intBitsToFloat(uf_uniformRegisterVS[201].z), -(intBitsToFloat(uf_uniformRegisterVS[201].z)))); +R126i.x = R1i.w * 0x00000003; +PS1i = R126i.x; +// 6 +backupReg0i = R126i.z; +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(uf_uniformRegisterVS[195].x))); +R11i.y = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(uf_uniformRegisterVS[197].z)); +R126i.z = floatBitsToInt(-(intBitsToFloat(R6i.w)) + 1.0); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(uf_uniformRegisterVS[195].y))); +R0i.y = floatBitsToInt(float(backupReg0i)); +PS0i = R0i.y; +// 7 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(uf_uniformRegisterVS[195].z))); +R14i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(uf_uniformRegisterVS[196].x)); +tempResultf = intBitsToFloat(PS0i); +tempResultf = floor(tempResultf); +tempResultf = clamp(tempResultf, -256.0, 255.0); +ARi.z = int(tempResultf); +PV1i.z = floatBitsToInt(tempResultf); +R11i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(uf_uniformRegisterVS[196].y)); +R3i.w = floatBitsToInt(float(R126i.x)); +PS1i = R3i.w; +// 8 +R10i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(uf_uniformRegisterVS[196].z)); +R16i.y = floatBitsToInt(1.0); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(uf_uniformRegisterVS[195].w))); +tempResultf = intBitsToFloat(PS1i); +tempResultf = floor(tempResultf); +tempResultf = clamp(tempResultf, -256.0, 255.0); +ARi.w = int(tempResultf); +PV0i.w = floatBitsToInt(tempResultf); +tempResultf = max(0.0, intBitsToFloat(R125i.z)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +R9i.y = floatBitsToInt(tempResultf); +PS0i = R9i.y; +// 9 +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[ARi.x+40].z))); +R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[ARi.x+40].y))); +R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[ARi.x+40].x))); +R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[ARi.x+40].w))); +R13i.z = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); +PS1i = R13i.z; +// 10 +R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[ARi.x+41].z))); +R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[ARi.x+41].y))); +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[ARi.x+41].x))); +R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[ARi.x+41].w))); +R9i.z = floatBitsToInt(max(intBitsToFloat(R6i.x), -(intBitsToFloat(R6i.x)))); +PS0i = R9i.z; +// 11 +R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[ARi.x+42].z))); +R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[ARi.x+42].y))); +R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[ARi.x+42].x))); +R4i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[ARi.x+42].w))); +R17i.z = 0; +PS1i = R17i.z; +// 12 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(uf_uniformRegisterVS[ARi.y+40].x))); +R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(uf_uniformRegisterVS[ARi.y+40].w))); +R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(uf_uniformRegisterVS[ARi.y+40].z))); +R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(uf_uniformRegisterVS[ARi.y+40].y))); +// 13 +backupReg0i = R126i.z; +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(uf_uniformRegisterVS[ARi.y+41].x))); +R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(uf_uniformRegisterVS[ARi.y+41].w))); +R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(uf_uniformRegisterVS[ARi.y+41].z))); +R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(uf_uniformRegisterVS[ARi.y+41].y))); +R1i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.x)); +PS1i = R1i.x; +// 14 +backupReg0i = R126i.w; +R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(uf_uniformRegisterVS[ARi.y+42].x))); +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(uf_uniformRegisterVS[ARi.y+42].w))); +R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(uf_uniformRegisterVS[ARi.y+42].z))); +R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(uf_uniformRegisterVS[ARi.y+42].y))); +R1i.w = floatBitsToInt(intBitsToFloat(R126i.y) + intBitsToFloat(backupReg0i)); +PS0i = R1i.w; +// 15 +backupReg0i = R127i.x; +backupReg1i = R125i.y; +R127i.x = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(backupReg0i)); +R125i.y = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(backupReg1i)); +R127i.z = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(R125i.z)); +R127i.w = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(R125i.w)); +R125i.z = floatBitsToInt(intBitsToFloat(R125i.x) + intBitsToFloat(R126i.z)); +PS1i = R125i.z; +// 16 +R126i.x = floatBitsToInt(intBitsToFloat(R124i.z) + intBitsToFloat(R124i.x)); +R126i.y = floatBitsToInt(intBitsToFloat(R124i.w) + intBitsToFloat(R4i.y)); +R1i.z = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R4i.z)); +R125i.w = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(R126i.w)); +R1i.y = floatBitsToInt(intBitsToFloat(R4i.w) + intBitsToFloat(R127i.y)); +PS0i = R1i.y; +// 17 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(uf_uniformRegisterVS[ARi.z+40].x))); +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(uf_uniformRegisterVS[ARi.z+40].w))); +R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(uf_uniformRegisterVS[ARi.z+40].z))); +R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(uf_uniformRegisterVS[ARi.z+40].y))); +// 18 +R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(uf_uniformRegisterVS[ARi.z+41].x))); +R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(uf_uniformRegisterVS[ARi.z+41].w))); +R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(uf_uniformRegisterVS[ARi.z+41].z))); +R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(uf_uniformRegisterVS[ARi.z+41].y))); +R125i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R1i.x)); +PS0i = R125i.x; +// 19 +backupReg0i = R126i.w; +backupReg1i = R1i.w; +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(uf_uniformRegisterVS[ARi.z+42].x))); +R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(uf_uniformRegisterVS[ARi.z+42].w))); +R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(uf_uniformRegisterVS[ARi.z+42].z))); +R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(uf_uniformRegisterVS[ARi.z+42].y))); +R1i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(backupReg1i)); +PS1i = R1i.w; +// 20 +R1i.x = floatBitsToInt(intBitsToFloat(R124i.x) + intBitsToFloat(R127i.x)); +R4i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R125i.y)); +R0i.zwx = floatBitsToInt(vec3(intBitsToFloat(R124i.z),intBitsToFloat(R124i.w),intBitsToFloat(PV1i.x)) + vec3(intBitsToFloat(R127i.z),intBitsToFloat(R127i.w),intBitsToFloat(R126i.x))); +PS0i = R0i.x; +// 21 +R7i.x = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R125i.w)); +R6i.y = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(R126i.y)); +R7i.z = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(R125i.z)); +R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_uniformRegisterVS[ARi.w+40].x))); +R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_uniformRegisterVS[ARi.w+40].y))); +PS1i = R126i.y; +// 22 +R8i.x = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(R1i.y)); +R7i.y = floatBitsToInt(intBitsToFloat(R4i.z) + intBitsToFloat(R1i.z)); +R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_uniformRegisterVS[ARi.w+40].z))); +R4i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_uniformRegisterVS[ARi.w+40].w))); +R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_uniformRegisterVS[ARi.w+41].x))); +PS0i = R4i.z; +// 23 +backupReg0i = R1i.w; +R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_uniformRegisterVS[ARi.w+41].z))); +R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_uniformRegisterVS[ARi.w+41].y))); +R8i.z = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R125i.x)); +R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_uniformRegisterVS[ARi.w+41].w))); +R1i.y = floatBitsToInt(intBitsToFloat(R126i.y) + intBitsToFloat(backupReg0i)); +PS1i = R1i.y; +// 0 +R125i.x = floatBitsToInt(intBitsToFloat(R4i.z) + intBitsToFloat(R1i.x)); +R126i.yzw = floatBitsToInt(vec3(intBitsToFloat(R0i.y),intBitsToFloat(R1i.z),intBitsToFloat(R4i.w)) + vec3(intBitsToFloat(R0i.w),intBitsToFloat(R0i.z),intBitsToFloat(R4i.y))); +R125i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R6i.y)); +PS0i = R125i.w; +// 1 +R6i.x = floatBitsToInt(-(intBitsToFloat(uf_uniformRegisterVS[196].w)) * intBitsToFloat(0x7f7ffffd)); +R6i.x = clampFI32(R6i.x); +R125i.z = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R7i.z)); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(uf_uniformRegisterVS[194].z))); +// 2 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R7i.w)),vec4(intBitsToFloat(R8i.z),intBitsToFloat(R1i.y),intBitsToFloat(R126i.z),intBitsToFloat(R126i.w)))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R6i.w = tempi.x; +R6i.z = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(uf_uniformRegisterVS[194].x)); +PS0i = R6i.z; +// 3 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R7i.w)),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R125i.z),intBitsToFloat(R125i.w)))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R8i.z = tempi.x; +R125i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + -(intBitsToFloat(uf_uniformRegisterVS[202].x))); +PS1i = R125i.x; +// 4 +tempResultf = intBitsToFloat(R3i.w); +tempResultf = floor(tempResultf); +tempResultf = clamp(tempResultf, -256.0, 255.0); +ARi.x = int(tempResultf); +PV0i.x = floatBitsToInt(tempResultf); +R126i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + -(intBitsToFloat(uf_uniformRegisterVS[202].y))); +PV0i.w = floatBitsToInt(max(intBitsToFloat(uf_uniformRegisterVS[199].w), -(intBitsToFloat(uf_uniformRegisterVS[199].w)))); +// 5 +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R9i.z))); +// 6 +R4i.x = floatBitsToInt(floor(intBitsToFloat(PV1i.y))); +// 7 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_uniformRegisterVS[ARi.x+42].z))); +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_uniformRegisterVS[ARi.x+42].y))); +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_uniformRegisterVS[ARi.x+42].x))); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_uniformRegisterVS[ARi.x+42].w))); +// 8 +backupReg0i = R0i.x; +PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(backupReg0i)); +PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R7i.x)); +PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R7i.y)); +PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(R8i.x)); +// 9 +backupReg0i = R3i.y; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R3i.z),intBitsToFloat(R7i.w)),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R3i.y = tempi.x; +// 10 +R125i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + -(intBitsToFloat(uf_uniformRegisterVS[202].z))); +PV0i.z = R125i.z; +// 11 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(PV0i.z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +// 12 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R125i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R125i.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(PS0i), intBitsToFloat(uf_uniformRegisterVS[194].w))); +tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); +PS1i = floatBitsToInt(tempResultf); +// 14 +PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(R8i.y)); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS1i))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS1i))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PS1i))); +// 15 +PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + -(0.0)); +R126i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + -(1.0)); +PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + -(0.0)); +R2i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); +PV1i.w = R2i.w; +// 16 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(uf_uniformRegisterVS[200].y))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(uf_uniformRegisterVS[200].x))); +R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.y), intBitsToFloat(PV1i.z))); +PV0i.z = R2i.z; +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(uf_uniformRegisterVS[200].z))); +R9i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.y), intBitsToFloat(PV1i.x))); +PS0i = R9i.z; +// 17 +PV1i.x = floatBitsToInt(intBitsToFloat(R5i.w) + intBitsToFloat(PV0i.w)); +PV1i.y = floatBitsToInt(intBitsToFloat(R5i.w) + intBitsToFloat(PV0i.x)); +PV1i.z = floatBitsToInt(intBitsToFloat(R5i.w) + intBitsToFloat(PV0i.y)); +R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(R13i.y)) + 1.0)); +R125i.x = floatBitsToInt(intBitsToFloat(PV0i.z) * 1.0); +PS1i = R125i.x; +// 18 +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(R9i.y))); +PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x40c90fdb)); +PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x40c90fdb)); +PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x40c90fdb)); +R125i.w = floatBitsToInt(intBitsToFloat(R9i.z) * -(1.0)); +PS0i = R125i.w; +// 19 +R123i.x = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(0x3e22f983) + 0.5)); +PV1i.x = R123i.x; +R123i.y = floatBitsToInt((intBitsToFloat(PV0i.z) * intBitsToFloat(0x3e22f983) + 0.5)); +PV1i.y = R123i.y; +R123i.z = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0x3e22f983) + 0.5)); +PV1i.z = R123i.z; +R126i.w = floatBitsToInt(0.0); +R126i.y = floatBitsToInt((-(0.0) * intBitsToFloat(R3i.w) + intBitsToFloat(R125i.x))); +PS1i = R126i.y; +// 20 +PV0i.x = floatBitsToInt(fract(intBitsToFloat(PV1i.y))); +PV0i.y = floatBitsToInt(fract(intBitsToFloat(PV1i.z))); +PV0i.z = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(uf_uniformRegisterVS[198].w)); +PV0i.w = floatBitsToInt(fract(intBitsToFloat(PV1i.x))); +R127i.w = floatBitsToInt(exp2(intBitsToFloat(R127i.x))); +PS0i = R127i.w; +// 21 +R123i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); +PV1i.x = R123i.x; +R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R10i.y)) + intBitsToFloat(R2i.w))); +R123i.z = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); +PV1i.z = R123i.z; +R123i.w = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); +PV1i.w = R123i.w; +R127i.x = floatBitsToInt(intBitsToFloat(R125i.w) + -(1.0)); +PS1i = R127i.x; +// 22 +backupReg0i = R126i.y; +R5i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3e22f983)); +R126i.y = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e22f983)); +PV0i.z = floatBitsToInt(intBitsToFloat(R126i.w) + -(0.0)); +R126i.w = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e22f983)); +PV0i.w = R126i.w; +PS0i = floatBitsToInt(intBitsToFloat(backupReg0i) + -(0.0)); +// 23 +R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.y), intBitsToFloat(PS0i))); +PV1i.x = R2i.x; +R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.y), intBitsToFloat(PV0i.z))); +PV1i.y = R5i.y; +PV1i.z = floatBitsToInt(-(intBitsToFloat(R127i.w)) + 1.0); +R7i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(R13i.y)) + 1.0)); +PV1i.w = R7i.w; +R126i.z = floatBitsToInt(sin((intBitsToFloat(PV0i.w))/0.1591549367)); +PS1i = R126i.z; +// 24 +backupReg0i = R124i.y; +R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(PV1i.w))); +R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.z))); +PV0i.y = R124i.y; +R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PV1i.x))); +R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(PV1i.y))); +R3i.x = floatBitsToInt(sin((intBitsToFloat(R126i.y))/0.1591549367)); +PS0i = R3i.x; +// 25 +backupReg0i = R10i.z; +R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(PV0i.y))); +R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_uniformRegisterVS[199].x))); +R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_uniformRegisterVS[199].y))); +R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.y))); +PS1i = floatBitsToInt(cos((intBitsToFloat(R126i.w))/0.1591549367)); +// 26 +PV0i.x = floatBitsToInt(-(intBitsToFloat(R126i.z)) + intBitsToFloat(PS1i)); +R9i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R7i.w)),intBitsToFloat(R3i.w)) + intBitsToFloat(R127i.w))); +R8i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R5i.y)),intBitsToFloat(R9i.z)) + intBitsToFloat(R125i.z))); +PS0i = floatBitsToInt(cos((intBitsToFloat(R126i.y))/0.1591549367)); +// 27 +backupReg0i = R11i.y; +R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_uniformRegisterVS[199].z))); +R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R9i.w)) + intBitsToFloat(R126i.z))); +R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R124i.y))); +R9i.w = floatBitsToInt(-(intBitsToFloat(R3i.x)) + intBitsToFloat(PS0i)); +R5i.z = floatBitsToInt(sin((intBitsToFloat(R5i.x))/0.1591549367)); +PS1i = R5i.z; +// 0 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.w),intBitsToFloat(R11i.z)) + intBitsToFloat(R3i.x))); +PV0i.x = R123i.x; +R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(R10i.y))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), intBitsToFloat(R11i.y))); +R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(R10i.z))); +PS0i = floatBitsToInt(cos((intBitsToFloat(R5i.x))/0.1591549367)); +// 1 +R127i.x = floatBitsToInt(intBitsToFloat(R8i.w) + -(0.0)); +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), intBitsToFloat(PV0i.x))); +PV1i.z = floatBitsToInt(-(intBitsToFloat(R5i.z)) + intBitsToFloat(PS0i)); +PV1i.w = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(PV0i.z)); +R126i.z = floatBitsToInt(intBitsToFloat(R9i.y) + -(1.0)); +PS1i = R126i.z; +// 2 +backupReg0i = R124i.y; +R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R2i.x)),intBitsToFloat(R2i.z)) + intBitsToFloat(R7i.x))); +PV0i.x = R123i.x; +R124i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(backupReg0i)); +PV0i.z = floatBitsToInt(intBitsToFloat(R5i.w) + intBitsToFloat(PV1i.y)); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R12i.z)) + intBitsToFloat(R5i.z))); +PV0i.w = R123i.w; +R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(R8i.x))); +PS0i = R126i.w; +// 3 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.w), intBitsToFloat(PV0i.w))); +PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R127i.w)); +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.y), intBitsToFloat(R127i.x))); +PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + -(0.0)); +R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(R13i.y)) + 1.0)); +PS1i = R125i.w; +// 4 +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.y), intBitsToFloat(PV1i.w))); +PV0i.y = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.x)); +R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(PV1i.y))); +R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PV1i.y))); +R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(PV1i.y))); +PS0i = R125i.z; +// 5 +R125i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R126i.w)); +PV1i.x = R125i.x; +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(R124i.y))); +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R124i.y))); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(R124i.y))); +R124i.z = floatBitsToInt(intBitsToFloat(R2i.w) + -(intBitsToFloat(0x3a83126f))); +PS1i = R124i.z; +// 6 +backupReg0i = R127i.x; +R127i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(PV1i.w)); +PV0i.y = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.z)); +PV0i.z = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV1i.x))); +PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.x))); +// 7 +PV1i.x = floatBitsToInt(intBitsToFloat(R124i.z) * intBitsToFloat(0x7f7ffffd)); +PV1i.x = clampFI32(PV1i.x); +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(R125i.x))); +PV1i.z = floatBitsToInt(intBitsToFloat(PS0i) + intBitsToFloat(PV0i.y)); +PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); +R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(uf_uniformRegisterVS[186].x)) + intBitsToFloat(uf_uniformRegisterVS[186].y))); +PS1i = R122i.x; +// 8 +backupReg0i = R127i.x; +R127i.x = floatBitsToInt(intBitsToFloat(R14i.y) + intBitsToFloat(PV1i.w)); +PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(backupReg0i)); +R124i.z = floatBitsToInt(intBitsToFloat(R11i.w) + intBitsToFloat(PV1i.z)); +R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R13i.z))); +PS0i = floatBitsToInt(floor(intBitsToFloat(PS1i))); +// 9 +R124i.y = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PS0i)); +R127i.z = floatBitsToInt(intBitsToFloat(R10i.x) + intBitsToFloat(PV0i.y)); +PV1i.z = R127i.z; +// 10 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R124i.z),intBitsToFloat(PV1i.z),intBitsToFloat(R15i.y)),vec4(intBitsToFloat(uf_uniformRegisterVS[188].x),intBitsToFloat(uf_uniformRegisterVS[188].y),intBitsToFloat(uf_uniformRegisterVS[188].z),intBitsToFloat(uf_uniformRegisterVS[188].w)))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +// 11 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R124i.z),intBitsToFloat(R127i.z),intBitsToFloat(R15i.y)),vec4(intBitsToFloat(uf_uniformRegisterVS[189].x),intBitsToFloat(uf_uniformRegisterVS[189].y),intBitsToFloat(uf_uniformRegisterVS[189].z),intBitsToFloat(uf_uniformRegisterVS[189].w)))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R126i.x = floatBitsToInt(intBitsToFloat(R6i.w) + intBitsToFloat(PV0i.x)); +PS1i = R126i.x; +// 12 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R124i.z),intBitsToFloat(R127i.z),intBitsToFloat(R15i.y)),vec4(intBitsToFloat(uf_uniformRegisterVS[190].x),intBitsToFloat(uf_uniformRegisterVS[190].y),intBitsToFloat(uf_uniformRegisterVS[190].z),intBitsToFloat(uf_uniformRegisterVS[190].w)))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R126i.y = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(PV1i.x)); +PS0i = R126i.y; +// 13 +backupReg0i = R124i.y; +R127i.x = floatBitsToInt(intBitsToFloat(R126i.x) + -(intBitsToFloat(uf_uniformRegisterVS[202].x))); +R124i.y = floatBitsToInt(intBitsToFloat(PS0i) + -(intBitsToFloat(uf_uniformRegisterVS[202].y))); +R127i.z = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); +PV1i.z = R127i.z; +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_uniformRegisterVS[185].x))); +// 14 +R125i.x = floatBitsToInt(floor(intBitsToFloat(PV1i.w))); +PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.z) + -(intBitsToFloat(uf_uniformRegisterVS[202].z))); +PV0i.w = floatBitsToInt(fract(intBitsToFloat(PV1i.w))); +// 15 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.z),intBitsToFloat(R3i.w),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R124i.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(uf_uniformRegisterVS[187].x))); +// 16 +PV0i.x = floatBitsToInt(floor(intBitsToFloat(PS1i))); +PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x7f7ffffd)); +PV0i.y = clampFI32(PV0i.y); +R17i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(uf_uniformRegisterVS[185].y))); +PS0i = R17i.y; +// 17 +R17i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[185].x))); +PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + -(1.0)); +// 18 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R126i.y),intBitsToFloat(R127i.z),intBitsToFloat(R16i.y)),vec4(intBitsToFloat(uf_uniformRegisterVS[11].x),intBitsToFloat(uf_uniformRegisterVS[11].y),intBitsToFloat(uf_uniformRegisterVS[11].z),intBitsToFloat(uf_uniformRegisterVS[11].w)))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R2i.w = tempi.x; +R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R6i.x)) + 1.0)); +PS0i = R122i.x; +// 19 +PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + -(intBitsToFloat(uf_uniformRegisterVS[201].w))); +R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PS0i))); +// 20 +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_uniformRegisterVS[202].w))); +PV0i.z = clampFI32(PV0i.z); +// 21 +R17i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(PV0i.z))); +PV1i.w = R17i.w; +// 22 +PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.w) + -(intBitsToFloat(0x3a83126f))); +// 23 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R126i.y),intBitsToFloat(R127i.z),intBitsToFloat(R16i.y)),vec4(intBitsToFloat(uf_uniformRegisterVS[10].x),intBitsToFloat(uf_uniformRegisterVS[10].y),intBitsToFloat(uf_uniformRegisterVS[10].z),intBitsToFloat(uf_uniformRegisterVS[10].w)))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R2i.z = tempi.x; +R124i.y = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x7f7ffffd)); +R124i.y = clampFI32(R124i.y); +PS1i = R124i.y; +// 24 +PV0i.x = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0); +PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); +// 25 +PV1i.x = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(PS0i)); +R124i.z = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x7f7ffffd)); +// 26 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R126i.y),intBitsToFloat(R127i.z),intBitsToFloat(R16i.y)),vec4(intBitsToFloat(uf_uniformRegisterVS[8].x),intBitsToFloat(uf_uniformRegisterVS[8].y),intBitsToFloat(uf_uniformRegisterVS[8].z),intBitsToFloat(uf_uniformRegisterVS[8].w)))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(PV1i.x))); +PS0i = R6i.x; +// 27 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R126i.y),intBitsToFloat(R127i.z),intBitsToFloat(R16i.y)),vec4(intBitsToFloat(uf_uniformRegisterVS[9].x),intBitsToFloat(uf_uniformRegisterVS[9].y),intBitsToFloat(uf_uniformRegisterVS[9].z),intBitsToFloat(uf_uniformRegisterVS[9].w)))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R2i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R124i.z)); +PS1i = R2i.x; +// 28 +R2i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R124i.z)); +// export +SET_POSITION(vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w))); +// export +gl_PointSize = (vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.y), intBitsToFloat(R6i.y))).x/resScale; +// export +passParameterSem144 = vec4(intBitsToFloat(R17i.x), intBitsToFloat(R17i.y), intBitsToFloat(R17i.z), intBitsToFloat(R17i.w)); +// 0 +} diff --git a/Resolutions/Bayonetta2_Resolution/8a0efcdc3f556942_0000000000000079_ps.txt b/Resolutions/Bayonetta2_Resolution/8a0efcdc3f556942_0000000000000079_ps.txt index 5d7a4254..912c5a81 100644 --- a/Resolutions/Bayonetta2_Resolution/8a0efcdc3f556942_0000000000000079_ps.txt +++ b/Resolutions/Bayonetta2_Resolution/8a0efcdc3f556942_0000000000000079_ps.txt @@ -1,26 +1,19 @@ -#version 420 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable +// shader 8a0efcdc3f556942 //frambuffer +// start of shader inputs/outputs, predetermined by Cemu. Do not touch #ifdef VULKAN #define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#define gl_VertexID gl_VertexIndex -#define gl_InstanceID gl_InstanceIndex #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) #define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define SET_POSITION(_v) gl_Position = _v #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) #endif -// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. - -// shader 8a0efcdc3f556942 -//halfres, pyarmid start -const float resScale = float($height)/float($gameHeight); #ifdef VULKAN layout(set = 1, binding = 1) uniform ufBlock { @@ -34,7 +27,8 @@ uniform vec2 uf_fragCoordScale; TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; layout(location = 0) in vec4 passParameterSem133; layout(location = 0) out vec4 passPixelColor0; -// uf_fragCoordScale was moved to the ufBlock +// end of shader inputs/outputs +const float resScale = ($gameWidth / $width); int clampFI32(int v) { if( v == 0x7FFFFFFF ) @@ -69,10 +63,10 @@ backupReg0f = R0f.x; backupReg1f = R0f.y; backupReg0f = R0f.x; backupReg1f = R0f.y; -R0f.x = (intBitsToFloat(uf_remappedPS[0].z) / resScale * 2.0 + backupReg0f); -R0f.y = (intBitsToFloat(uf_remappedPS[0].w) / resScale* 2.0 + backupReg1f); -R0f.z = (-(intBitsToFloat(uf_remappedPS[0].z) / resScale) * 2.0 + backupReg0f); -R0f.w = (-(intBitsToFloat(uf_remappedPS[0].w) / resScale) * 2.0 + backupReg1f); +R0f.x = (intBitsToFloat(uf_remappedPS[0].z)*resScale * 2.0 + backupReg0f); +R0f.y = (intBitsToFloat(uf_remappedPS[0].w)*resScale * 2.0 + backupReg1f); +R0f.z = (-(intBitsToFloat(uf_remappedPS[0].z)*resScale) * 2.0 + backupReg0f); +R0f.w = (-(intBitsToFloat(uf_remappedPS[0].w)*resScale) * 2.0 + backupReg1f); R1f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw); R0f.xyzw = (texture(textureUnitPS0, R0f.zw).xyzw); // 0 diff --git a/Resolutions/Bayonetta2_Resolution/9ea5cab5137f8604_0000000000000000_vs.txt b/Resolutions/Bayonetta2_Resolution/9ea5cab5137f8604_0000000000000000_vs.txt new file mode 100644 index 00000000..4a55a035 --- /dev/null +++ b/Resolutions/Bayonetta2_Resolution/9ea5cab5137f8604_0000000000000000_vs.txt @@ -0,0 +1,299 @@ +#version 430 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +// shader 9ea5cab5137f8604 //point "sprite" 3 verified +// start of shader inputs/outputs, predetermined by Cemu. Do not touch +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#endif +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ +uniform ivec4 uf_remappedVS[17]; +}; +#else +uniform ivec4 uf_remappedVS[17]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem5; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +// end of shader inputs/outputs +const float resScale = float($gameWidth / $width); + +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R4f = vec4(0.0); +vec4 R5f = vec4(0.0); +vec4 R123f = vec4(0.0); +vec4 R124f = vec4(0.0); +vec4 R125f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = vec4(0.0); +uvec4 attrDecoder; +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); +attrDecoder.xyzw = attrDataSem0.xyzw; +attrDecoder = ((attrDecoder>>8)&0xFF)|((attrDecoder<<8)&0xFF00); +attrDecoder.xyzw = floatBitsToInt(vec4(unpackHalf2x16(attrDecoder.x|(attrDecoder.y<<16)),unpackHalf2x16(attrDecoder.z|(attrDecoder.w<<16)))); +R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); +attrDecoder.xyzw = attrDataSem5.xyzw; +attrDecoder = ((attrDecoder>>8)&0xFF)|((attrDecoder<<8)&0xFF00); +attrDecoder.xyzw = floatBitsToInt(vec4(unpackHalf2x16(attrDecoder.x|(attrDecoder.y<<16)),unpackHalf2x16(attrDecoder.z|(attrDecoder.w<<16)))); +R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); +// 0 +PV0f.x = max(intBitsToFloat(uf_remappedVS[0].w), -(intBitsToFloat(uf_remappedVS[0].w))); +R127f.y = mul_nonIEEE(R2f.x, intBitsToFloat(uf_remappedVS[1].x)); +PV0f.z = max(R1f.w, -(R1f.w)); +R127f.w = mul_nonIEEE(R2f.y, intBitsToFloat(uf_remappedVS[1].y)); +R4f.w = 1.0; +PS0f = R4f.w; +// 1 +PV1f.y = mul_nonIEEE(PV0f.z, intBitsToFloat(uf_remappedVS[2].y)); +R127f.z = mul_nonIEEE(R2f.z, intBitsToFloat(uf_remappedVS[1].z)); +tempResultf = max(0.0, PV0f.x); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +R126f.y = tempResultf; +PS1f = R126f.y; +// 2 +PV0f.x = -(PV1f.y) + intBitsToFloat(uf_remappedVS[2].x); +R0f.y = -(intBitsToFloat(uf_remappedVS[3].x)) * intBitsToFloat(0x7f7ffffd); +R0f.y = clamp(R0f.y, 0.0, 1.0); +R124f.z = -(intBitsToFloat(uf_remappedVS[3].y)) * intBitsToFloat(0x7f7ffffd); +R124f.z = clamp(R124f.z, 0.0, 1.0); +R124f.w = max(intBitsToFloat(uf_remappedVS[3].x), -(intBitsToFloat(uf_remappedVS[3].x))); +R0f.w = max(intBitsToFloat(uf_remappedVS[3].y), -(intBitsToFloat(uf_remappedVS[3].y))); +PS0f = R0f.w; +// 3 +backupReg0f = R127f.y; +R125f.x = -(intBitsToFloat(uf_remappedVS[3].z)) * intBitsToFloat(0x7f7ffffd); +R125f.x = clamp(R125f.x, 0.0, 1.0); +R127f.y = backupReg0f + intBitsToFloat(uf_remappedVS[0].x); +R126f.z = R127f.w + intBitsToFloat(uf_remappedVS[0].y); +R126f.w = max(PV0f.x, 0.0); +PV1f.w = R126f.w; +R0f.z = max(intBitsToFloat(uf_remappedVS[3].z), -(intBitsToFloat(uf_remappedVS[3].z))); +PS1f = R0f.z; +// 4 +PV0f.x = mul_nonIEEE(PV1f.w, R126f.y); +PV0f.y = mul_nonIEEE(PV1f.w, intBitsToFloat(uf_remappedVS[4].z)); +PV0f.z = mul_nonIEEE(PV1f.w, intBitsToFloat(uf_remappedVS[4].y)); +PV0f.w = mul_nonIEEE(PV1f.w, intBitsToFloat(uf_remappedVS[4].x)); +R125f.z = PV1f.w + -(intBitsToFloat(0x3a83126f)); +PS0f = R125f.z; +// 5 +PV1f.x = R2f.w + PV0f.w; +R125f.y = R127f.z + intBitsToFloat(uf_remappedVS[0].z); +PV1f.z = R2f.w + PV0f.y; +PV1f.w = R2f.w + PV0f.z; +PS1f = exp2(PV0f.x); +// 6 +PV0f.x = PV1f.w * intBitsToFloat(0x40c90fdb); +PV0f.y = PV1f.x * intBitsToFloat(0x40c90fdb); +PV0f.z = -(PS1f) + 1.0; +PV0f.w = PV1f.z * intBitsToFloat(0x40c90fdb); +R127f.z = mul_nonIEEE(R126f.w, intBitsToFloat(uf_remappedVS[5].x)); +PS0f = R127f.z; +// 7 +R123f.x = (PV0f.w * intBitsToFloat(0x3e22f983) + 0.5); +PV1f.x = R123f.x; +R126f.y = mul_nonIEEE(PV0f.z, intBitsToFloat(uf_remappedVS[1].w)); +PV1f.y = R126f.y; +R123f.z = (PV0f.y * intBitsToFloat(0x3e22f983) + 0.5); +PV1f.z = R123f.z; +R123f.w = (PV0f.x * intBitsToFloat(0x3e22f983) + 0.5); +PV1f.w = R123f.w; +R124f.y = mul_nonIEEE(R126f.w, intBitsToFloat(uf_remappedVS[5].y)); +PS1f = R124f.y; +// 8 +R2f.x = mul_nonIEEE(PV1f.y, R127f.y); +PV0f.y = fract(PV1f.z); +PV0f.z = fract(PV1f.w); +PV0f.w = fract(PV1f.x); +R127f.y = mul_nonIEEE(PV1f.y, R126f.z); +PS0f = R127f.y; +// 9 +R123f.x = (PV0f.y * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb))); +PV1f.x = R123f.x; +R123f.y = (PV0f.z * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb))); +PV1f.y = R123f.y; +R123f.z = (PV0f.w * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb))); +PV1f.z = R123f.z; +R2f.w = mul_nonIEEE(R126f.y, R125f.y); +R127f.x = mul_nonIEEE(R126f.w, intBitsToFloat(uf_remappedVS[5].z)); +PS1f = R127f.x; +// 10 +R126f.x = PV1f.z * intBitsToFloat(0x3e22f983); +R126f.y = PV1f.x * intBitsToFloat(0x3e22f983); +PV0f.y = R126f.y; +R126f.z = mul_nonIEEE(R1f.x, intBitsToFloat(uf_remappedVS[6].x)); +R125f.w = PV1f.y * intBitsToFloat(0x3e22f983); +R127f.w = mul_nonIEEE(R1f.y, intBitsToFloat(uf_remappedVS[6].y)); +PS0f = R127f.w; +// 11 +R1f.x = mul_nonIEEE(R126f.w, R124f.y); +R125f.y = mul_nonIEEE(R126f.w, R127f.x); +PV1f.z = mul_nonIEEE(R1f.z, intBitsToFloat(uf_remappedVS[6].z)); +R1f.w = mul_nonIEEE(R126f.w, R127f.z); +R127f.x = sin((PV0f.y)/0.1591549367); +PS1f = R127f.x; +// 12 +backupReg0f = R125f.z; +R0f.x = R127f.w + intBitsToFloat(uf_remappedVS[7].y); +R124f.y = R126f.z + intBitsToFloat(uf_remappedVS[7].x); +R125f.z = backupReg0f * intBitsToFloat(0x7f7ffffd); +R125f.z = clamp(R125f.z, 0.0, 1.0); +R127f.w = PV1f.z + intBitsToFloat(uf_remappedVS[7].z); +R126f.z = sin((R125f.w)/0.1591549367); +PS0f = R126f.z; +// 13 +R123f.z = (mul_nonIEEE(R126f.w,intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(uf_remappedVS[8].y)); +PV1f.z = R123f.z; +R124f.x = sin((R126f.x)/0.1591549367); +PS1f = R124f.x; +// 14 +PV0f.y = floor(PV1f.z); +R3f.z = 0.0; +PS0f = cos((R126f.y)/0.1591549367); +// 15 +PV1f.x = mul_nonIEEE(PV0f.y, intBitsToFloat(uf_remappedVS[9].x)); +PV1f.z = -(R127f.x) + PS0f; +PS1f = cos((R125f.w)/0.1591549367); +// 16 +backupReg0f = R0f.y; +PV0f.x = fract(PV1f.x); +PV0f.y = -(R126f.z) + PS1f; +PV0f.z = floor(PV1f.x); +R123f.w = (mul_nonIEEE(PV1f.z,backupReg0f) + R127f.x); +PV0f.w = R123f.w; +PS0f = cos((R126f.x)/0.1591549367); +// 17 +PV1f.x = -(R124f.x) + PS0f; +PV1f.y = mul_nonIEEE(R124f.w, PV0f.w); +R123f.z = (mul_nonIEEE(PV0f.y,R124f.z) + R126f.z); +PV1f.z = R123f.z; +PV1f.w = mul_nonIEEE(PV0f.x, intBitsToFloat(uf_remappedVS[10].x)); +R3f.y = mul_nonIEEE(PV0f.z, intBitsToFloat(uf_remappedVS[9].y)); +PS1f = R3f.y; +// 18 +backupReg0f = R0f.w; +PV0f.x = R2f.x + PV1f.y; +R123f.y = (mul_nonIEEE(PV1f.x,R125f.x) + R124f.x); +PV0f.y = R123f.y; +PV0f.z = floor(PV1f.w); +PV0f.w = mul_nonIEEE(backupReg0f, PV1f.z); +// 19 +backupReg0f = R0f.z; +PV1f.x = R127f.y + PV0f.w; +PV1f.y = PV0f.x + R1f.w; +PV1f.z = mul_nonIEEE(backupReg0f, PV0f.y); +R3f.x = mul_nonIEEE(PV0f.z, intBitsToFloat(uf_remappedVS[9].x)); +PS1f = R3f.x; +// 20 +PV0f.x = PV1f.x + R1f.x; +R0f.y = R124f.y + PV1f.y; +PV0f.w = R2f.w + PV1f.z; +// 21 +R1f.y = R0f.x + PV0f.x; +PV1f.z = PV0f.w + R125f.y; +// 22 +R0f.z = R127f.w + PV1f.z; +PV0f.z = R0f.z; +// 23 +tempf.x = dot(vec4(R0f.y,R1f.y,PV0f.z,R4f.w),vec4(intBitsToFloat(uf_remappedVS[11].x),intBitsToFloat(uf_remappedVS[11].y),intBitsToFloat(uf_remappedVS[11].z),intBitsToFloat(uf_remappedVS[11].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R5f.w = tempf.x; +// 24 +PV0f.y = PV1f.x + -(intBitsToFloat(uf_remappedVS[3].w)); +// 25 +PV1f.x = mul_nonIEEE(PV0f.y, intBitsToFloat(uf_remappedVS[12].w)); +PV1f.x = clamp(PV1f.x, 0.0, 1.0); +// 26 +R3f.w = mul_nonIEEE(R125f.z, PV1f.x); +PV0f.w = R3f.w; +// 27 +PV1f.z = PV0f.w + -(intBitsToFloat(0x3a83126f)); +// 28 +tempf.x = dot(vec4(R0f.y,R1f.y,R0f.z,R4f.w),vec4(intBitsToFloat(uf_remappedVS[13].x),intBitsToFloat(uf_remappedVS[13].y),intBitsToFloat(uf_remappedVS[13].z),intBitsToFloat(uf_remappedVS[13].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R5f.z = tempf.x; +R2f.w = PV1f.z * intBitsToFloat(0x7f7ffffd); +R2f.w = clamp(R2f.w, 0.0, 1.0); +PS0f = R2f.w; +// export +// skipped export to semanticId 255 +// 0 +PV0f.y = -(R2f.w) + 1.0; +R125f.x = 1.0 / R5f.z; +PS0f = R125f.x; +// 1 +backupReg0f = R0f.z; +tempf.x = dot(vec4(R0f.y,R1f.y,backupReg0f,R4f.w),vec4(intBitsToFloat(uf_remappedVS[14].x),intBitsToFloat(uf_remappedVS[14].y),intBitsToFloat(uf_remappedVS[14].z),intBitsToFloat(uf_remappedVS[14].w))); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R125f.z = PV0f.y * intBitsToFloat(0x7f7ffffd); +PS1f = R125f.z; +// 2 +backupReg0f = R0f.z; +tempf.x = dot(vec4(R0f.y,R1f.y,backupReg0f,R4f.w),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),intBitsToFloat(uf_remappedVS[15].w))); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R5f.x = PV1f.x + PS1f; +PS0f = R5f.x; +// 3 +R5f.y = PV0f.x + R125f.z; +PV1f.w = R125f.x * intBitsToFloat(uf_remappedVS[16].z); +// 4 +R3f.x = mul_nonIEEE(R2f.w, PV1f.w); +// export +SET_POSITION(vec4(R5f.x, R5f.y, R5f.z, R5f.w)); +// export +gl_PointSize = (vec4(R3f.x, R3f.y, R3f.y, R3f.y)).x/resScale; +// 0 +} diff --git a/Resolutions/Bayonetta2_Resolution/a574ba7d973b3412_0000000000000000_vs.txt b/Resolutions/Bayonetta2_Resolution/a574ba7d973b3412_0000000000000000_vs.txt new file mode 100644 index 00000000..083c4895 --- /dev/null +++ b/Resolutions/Bayonetta2_Resolution/a574ba7d973b3412_0000000000000000_vs.txt @@ -0,0 +1,752 @@ +#version 430 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +// shader a574ba7d973b3412 //point "sprite" 4 unverified +// start of shader inputs/outputs, predetermined by Cemu. Do not touch +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#endif +#ifdef VULKAN +layout(set = 0, binding = 0) uniform ufBlock +{ +uniform ivec4 uf_uniformRegisterVS[256]; +}; +#else +uniform ivec4 uf_uniformRegisterVS[256]; +#endif +ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; +ATTR_LAYOUT(0, 1) in uvec4 attrDataSem1; +ATTR_LAYOUT(0, 2) in uvec4 attrDataSem2; +ATTR_LAYOUT(0, 3) in uvec4 attrDataSem3; +ATTR_LAYOUT(0, 4) in uvec4 attrDataSem5; +ATTR_LAYOUT(0, 5) in uvec4 attrDataSem6; +ATTR_LAYOUT(0, 6) in uvec4 attrDataSem7; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +layout(location = 0) out vec4 passParameterSem144; +// end of shader inputs/outputs +const float resScale = float($gameWidth / $width); + +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +ivec4 R0i = ivec4(0); +ivec4 R1i = ivec4(0); +ivec4 R2i = ivec4(0); +ivec4 R3i = ivec4(0); +ivec4 R4i = ivec4(0); +ivec4 R5i = ivec4(0); +ivec4 R6i = ivec4(0); +ivec4 R7i = ivec4(0); +ivec4 R8i = ivec4(0); +ivec4 R9i = ivec4(0); +ivec4 R10i = ivec4(0); +ivec4 R11i = ivec4(0); +ivec4 R12i = ivec4(0); +ivec4 R13i = ivec4(0); +ivec4 R14i = ivec4(0); +ivec4 R122i = ivec4(0); +ivec4 R123i = ivec4(0); +ivec4 R124i = ivec4(0); +ivec4 R125i = ivec4(0); +ivec4 R126i = ivec4(0); +ivec4 R127i = ivec4(0); +uvec4 attrDecoder; +int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; +ivec4 PV0i = ivec4(0), PV1i = ivec4(0); +int PS0i = 0, PS1i = 0; +ivec4 tempi = ivec4(0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); +attrDecoder.xyz = attrDataSem0.xyz; +attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); +attrDecoder.w = 0; +R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); +attrDecoder.x = attrDataSem3.x; +attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); +attrDecoder.y = 0; +attrDecoder.z = 0; +attrDecoder.w = 0; +attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); +if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; +if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; +if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; +attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); +attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); +attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); +attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); +R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); +attrDecoder.xyzw = attrDataSem2.xyzw; +R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); +attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); +R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); +attrDecoder.xyzw = attrDataSem5.xyzw; +attrDecoder = ((attrDecoder>>8)&0xFF)|((attrDecoder<<8)&0xFF00); +attrDecoder.xyzw = floatBitsToInt(vec4(unpackHalf2x16(attrDecoder.x|(attrDecoder.y<<16)),unpackHalf2x16(attrDecoder.z|(attrDecoder.w<<16)))); +R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); +attrDecoder.xyzw = attrDataSem6.xyzw; +attrDecoder = ((attrDecoder>>8)&0xFF)|((attrDecoder<<8)&0xFF00); +attrDecoder.xyzw = floatBitsToInt(vec4(unpackHalf2x16(attrDecoder.x|(attrDecoder.y<<16)),unpackHalf2x16(attrDecoder.z|(attrDecoder.w<<16)))); +R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); +attrDecoder.xyzw = attrDataSem7.xyzw; +attrDecoder = ((attrDecoder>>8)&0xFF)|((attrDecoder<<8)&0xFF00); +attrDecoder.xyzw = floatBitsToInt(vec4(unpackHalf2x16(attrDecoder.x|(attrDecoder.y<<16)),unpackHalf2x16(attrDecoder.z|(attrDecoder.w<<16)))); +R7i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); +// 0 +PV0i.x = floatBitsToInt(intBitsToFloat(R4i.x) + -(intBitsToFloat(uf_uniformRegisterVS[204].x))); +PV0i.y = floatBitsToInt(intBitsToFloat(R4i.y) + -(intBitsToFloat(uf_uniformRegisterVS[204].y))); +PV0i.z = floatBitsToInt(intBitsToFloat(R4i.z) + -(intBitsToFloat(uf_uniformRegisterVS[204].z))); +R11i.w = 0x3f800000; +R127i.x = R1i.y * 0x00000003; +PS0i = R127i.x; +// 1 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R127i.z = R1i.x * 0x00000003; +PS1i = R127i.z; +// 2 +R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); +PV0i.x = R126i.x; +PV0i.y = R126i.x; +PV0i.z = R126i.x; +PV0i.w = R126i.x; +PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); +// 3 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(uf_uniformRegisterVS[203].y))); +R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(uf_uniformRegisterVS[187].w))); +R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(uf_uniformRegisterVS[187].w))); +R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(uf_uniformRegisterVS[187].w))); +R126i.z = R1i.z * 0x00000003; +PS1i = R126i.z; +// 4 +PV0i.x = floatBitsToInt(max(intBitsToFloat(R5i.w), -(intBitsToFloat(R5i.w)))); +R14i.y = floatBitsToInt(max(intBitsToFloat(uf_uniformRegisterVS[196].w), -(intBitsToFloat(uf_uniformRegisterVS[196].w)))); +R14i.z = 0x3f800000; +PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(uf_uniformRegisterVS[203].w)); +R124i.w = floatBitsToInt(float(R127i.x)); +PS0i = R124i.w; +// 5 +tempResultf = intBitsToFloat(PS0i); +tempResultf = floor(tempResultf); +tempResultf = clamp(tempResultf, -256.0, 255.0); +ARi.x = int(tempResultf); +PV1i.x = floatBitsToInt(tempResultf); +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[193].y))); +R123i.z = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(0x3e22f983) + 0.5)); +PV1i.z = R123i.z; +R125i.w = floatBitsToInt(max(intBitsToFloat(uf_uniformRegisterVS[197].w), -(intBitsToFloat(uf_uniformRegisterVS[197].w)))); +R127i.y = floatBitsToInt(float(R127i.z)); +PS1i = R127i.y; +// 6 +R12i.x = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + intBitsToFloat(uf_uniformRegisterVS[193].x)); +PV0i.y = floatBitsToInt(fract(intBitsToFloat(PV1i.z))); +PV0i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[197].w) > 0.0)?1.0:0.0); +PV0i.w = floatBitsToInt((0.0 > intBitsToFloat(uf_uniformRegisterVS[197].w))?1.0:0.0); +R127i.x = R1i.w * 0x00000003; +PS0i = R127i.x; +// 7 +R123i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); +PV1i.x = R123i.x; +tempResultf = intBitsToFloat(R127i.y); +tempResultf = floor(tempResultf); +tempResultf = clamp(tempResultf, -256.0, 255.0); +ARi.y = int(tempResultf); +PV1i.y = floatBitsToInt(tempResultf); +PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + -(intBitsToFloat(PV0i.w))); +R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(uf_uniformRegisterVS[198].x))); +R7i.y = floatBitsToInt(float(R126i.z)); +PS1i = R7i.y; +// 8 +R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(uf_uniformRegisterVS[198].y))); +R12i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), -(intBitsToFloat(PV1i.z)))); +tempResultf = intBitsToFloat(PS1i); +tempResultf = floor(tempResultf); +tempResultf = clamp(tempResultf, -256.0, 255.0); +ARi.z = int(tempResultf); +PV0i.z = floatBitsToInt(tempResultf); +R127i.w = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3e22f983)); +PS0i = floatBitsToInt(sqrt(intBitsToFloat(R126i.x))); +// 9 +R13i.x = floatBitsToInt(-(intBitsToFloat(uf_uniformRegisterVS[201].y)) * intBitsToFloat(0x7f7ffffd)); +R13i.x = clampFI32(R13i.x); +R13i.y = floatBitsToInt(max(intBitsToFloat(uf_uniformRegisterVS[201].x), -(intBitsToFloat(uf_uniformRegisterVS[201].x)))); +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(uf_uniformRegisterVS[203].z))); +R12i.w = floatBitsToInt(-(intBitsToFloat(uf_uniformRegisterVS[201].x)) * intBitsToFloat(0x7f7ffffd)); +R12i.w = clampFI32(R12i.w); +R9i.w = floatBitsToInt(float(R127i.x)); +PS1i = R9i.w; +// 10 +R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(uf_uniformRegisterVS[198].z))); +PV0i.y = floatBitsToInt(fract(intBitsToFloat(PV1i.z))); +R13i.z = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(uf_uniformRegisterVS[197].x)); +tempResultf = intBitsToFloat(PS1i); +tempResultf = floor(tempResultf); +tempResultf = clamp(tempResultf, -256.0, 255.0); +ARi.w = int(tempResultf); +PV0i.w = floatBitsToInt(tempResultf); +PS0i = floatBitsToInt(cos((intBitsToFloat(R127i.w))/0.1591549367)); +// 11 +PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + -(0.5)); +PV1i.y = floatBitsToInt(intBitsToFloat(PS0i) + 1.0); +R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[ARi.x+40].x))); +R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[ARi.x+40].y))); +R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[ARi.x+40].z))); +PS1i = R127i.x; +// 12 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(uf_uniformRegisterVS[203].x))); +R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[ARi.x+40].w))); +R12i.z = floatBitsToInt(-(intBitsToFloat(R7i.w)) + 1.0); +PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); +tempResultf = max(0.0, intBitsToFloat(R125i.w)); +tempResultf = log2(tempResultf); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +R11i.y = floatBitsToInt(tempResultf); +PS0i = R11i.y; +// 13 +R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[ARi.x+41].z))); +R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[ARi.x+41].y))); +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[ARi.x+41].x))); +R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[ARi.x+41].w))); +R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.x))); +PS1i = R1i.w; +// 14 +backupReg0i = R0i.w; +R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[ARi.x+42].z))); +R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[ARi.x+42].y))); +R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[ARi.x+42].x))); +R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[ARi.x+42].w))); +R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); +PS0i = R0i.z; +// 15 +backupReg0i = R125i.z; +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(uf_uniformRegisterVS[ARi.y+40].x))); +R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(uf_uniformRegisterVS[ARi.y+40].w))); +R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(uf_uniformRegisterVS[ARi.y+40].z))); +R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(uf_uniformRegisterVS[ARi.y+40].y))); +R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R1i.w))); +PS1i = R10i.y; +// 16 +backupReg0i = R126i.z; +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(uf_uniformRegisterVS[ARi.y+41].x))); +R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(uf_uniformRegisterVS[ARi.y+41].w))); +R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(uf_uniformRegisterVS[ARi.y+41].z))); +R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(uf_uniformRegisterVS[ARi.y+41].y))); +R3i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.x)); +PS0i = R3i.x; +// 17 +backupReg0i = R127i.w; +backupReg1i = R124i.w; +R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(uf_uniformRegisterVS[ARi.y+42].x))); +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(uf_uniformRegisterVS[ARi.y+42].w))); +R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(uf_uniformRegisterVS[ARi.y+42].z))); +R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(uf_uniformRegisterVS[ARi.y+42].y))); +R124i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(backupReg1i)); +PS1i = R124i.w; +// 18 +R0i.x = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R126i.x)); +R8i.y = floatBitsToInt(intBitsToFloat(R126i.y) + intBitsToFloat(R125i.y)); +R3i.z = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(R125i.z)); +R3i.w = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(R125i.w)); +R9i.z = floatBitsToInt(intBitsToFloat(R125i.x) + intBitsToFloat(R126i.z)); +PS0i = R9i.z; +// 19 +backupReg0i = R3i.y; +R8i.x = floatBitsToInt(intBitsToFloat(R124i.z) + intBitsToFloat(R124i.x)); +R3i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R1i.y)); +R11i.z = floatBitsToInt(intBitsToFloat(R1i.x) + intBitsToFloat(R1i.z)); +R4i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.w)); +R9i.y = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(R127i.y)); +PS1i = R9i.y; +// 20 +backupReg0i = R0i.y; +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(uf_uniformRegisterVS[ARi.z+40].x))); +R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(uf_uniformRegisterVS[ARi.z+40].w))); +R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(uf_uniformRegisterVS[ARi.z+40].z))); +R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(uf_uniformRegisterVS[ARi.z+40].y))); +R8i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R1i.w))); +PS0i = R8i.w; +// 21 +backupReg0i = R3i.x; +R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(uf_uniformRegisterVS[ARi.z+41].x))); +R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(uf_uniformRegisterVS[ARi.z+41].w))); +R8i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(uf_uniformRegisterVS[ARi.z+41].z))); +R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(uf_uniformRegisterVS[ARi.z+41].y))); +R11i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(backupReg0i)); +PS1i = R11i.x; +// 22 +R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(uf_uniformRegisterVS[ARi.z+42].x))); +R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(uf_uniformRegisterVS[ARi.z+42].w))); +R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(uf_uniformRegisterVS[ARi.z+42].z))); +R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(uf_uniformRegisterVS[ARi.z+42].y))); +R10i.w = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(R124i.w)); +PS0i = R10i.w; +// 0 +R127i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R0i.x)); +R126i.y = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(R8i.y)); +R127i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(R3i.z)); +R124i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R3i.w)); +R0i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R0i.z)); +PS0i = R0i.x; +// 1 +R125i.x = floatBitsToInt(intBitsToFloat(R1i.x) + intBitsToFloat(R8i.x)); +R124i.y = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(R3i.y)); +R126i.z = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(R9i.z)); +R125i.w = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(R4i.w)); +R8i.z = floatBitsToInt(intBitsToFloat(R4i.z) + intBitsToFloat(R8i.w)); +PS1i = R8i.z; +// 2 +backupReg0i = R9i.x; +R9i.x = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(R9i.y)); +R7i.y = floatBitsToInt(intBitsToFloat(R10i.z) + intBitsToFloat(R11i.z)); +R10i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(uf_uniformRegisterVS[197].y)); +R0i.w = floatBitsToInt(max(intBitsToFloat(uf_uniformRegisterVS[201].y), -(intBitsToFloat(uf_uniformRegisterVS[201].y)))); +R8i.w = floatBitsToInt(1.0); +PS0i = R8i.w; +// 3 +backupReg0i = R4i.y; +R4i.x = floatBitsToInt(-(intBitsToFloat(uf_uniformRegisterVS[201].z)) * intBitsToFloat(0x7f7ffffd)); +R4i.x = clampFI32(R4i.x); +R4i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R10i.y)); +R4i.z = floatBitsToInt(intBitsToFloat(R10i.x) + intBitsToFloat(uf_uniformRegisterVS[197].z)); +R4i.w = floatBitsToInt(max(intBitsToFloat(uf_uniformRegisterVS[201].z), -(intBitsToFloat(uf_uniformRegisterVS[201].z)))); +R124i.z = floatBitsToInt(max(intBitsToFloat(R7i.x), -(intBitsToFloat(R7i.x)))); +PS1i = R124i.z; +// 4 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(uf_uniformRegisterVS[195].x))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(uf_uniformRegisterVS[195].w))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(uf_uniformRegisterVS[195].z))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(uf_uniformRegisterVS[195].y))); +R1i.z = 0; +PS0i = R1i.z; +// 5 +R5i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.w),intBitsToFloat(PV0i.x),-(intBitsToFloat(PV0i.y))) + vec3(intBitsToFloat(uf_uniformRegisterVS[196].y),intBitsToFloat(uf_uniformRegisterVS[196].x),1.0)); +R5i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(uf_uniformRegisterVS[196].z)); +R10i.x = floatBitsToInt(-(intBitsToFloat(uf_uniformRegisterVS[196].w)) * intBitsToFloat(0x7f7ffffd)); +R10i.x = clampFI32(R10i.x); +PS1i = R10i.x; +// 6 +tempResultf = intBitsToFloat(R9i.w); +tempResultf = floor(tempResultf); +tempResultf = clamp(tempResultf, -256.0, 255.0); +ARi.x = int(tempResultf); +PV0i.x = floatBitsToInt(tempResultf); +PV0i.y = floatBitsToInt(max(intBitsToFloat(uf_uniformRegisterVS[199].w), -(intBitsToFloat(uf_uniformRegisterVS[199].w)))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(uf_uniformRegisterVS[194].z))); +// 7 +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R124i.z))); +R12i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(uf_uniformRegisterVS[194].x)); +// 8 +R7i.x = floatBitsToInt(floor(intBitsToFloat(PV1i.y))); +// 9 +R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_uniformRegisterVS[ARi.x+40].z))); +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_uniformRegisterVS[ARi.x+40].y))); +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_uniformRegisterVS[ARi.x+40].x))); +R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_uniformRegisterVS[ARi.x+40].w))); +// 10 +backupReg0i = R11i.x; +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_uniformRegisterVS[ARi.x+41].z))); +R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_uniformRegisterVS[ARi.x+41].y))); +R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_uniformRegisterVS[ARi.x+41].x))); +R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_uniformRegisterVS[ARi.x+41].w))); +R11i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(backupReg0i)); +PS0i = R11i.x; +// 11 +backupReg0i = R2i.w; +backupReg1i = R127i.y; +R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_uniformRegisterVS[ARi.x+42].z))); +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_uniformRegisterVS[ARi.x+42].y))); +R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_uniformRegisterVS[ARi.x+42].x))); +R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_uniformRegisterVS[ARi.x+42].w))); +R2i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R10i.w)); +PS1i = R2i.y; +// 12 +backupReg0i = R127i.x; +backupReg1i = R127i.z; +backupReg2i = R127i.w; +backupReg3i = R126i.y; +backupReg4i = R126i.z; +R127i.x = floatBitsToInt(intBitsToFloat(R124i.z) + intBitsToFloat(backupReg0i)); +R126i.y = floatBitsToInt(intBitsToFloat(R125i.y) + intBitsToFloat(R124i.w)); +R127i.z = floatBitsToInt(intBitsToFloat(R124i.x) + intBitsToFloat(backupReg1i)); +R127i.w = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(backupReg3i)); +R126i.z = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(backupReg4i)); +PS0i = R126i.z; +// 13 +backupReg0i = R125i.x; +backupReg1i = R127i.y; +backupReg2i = R126i.w; +R125i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(backupReg0i)); +R127i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R125i.w)); +R125i.z = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R7i.y)); +R126i.w = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R124i.y)); +R125i.w = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(R9i.x)); +PS1i = R125i.w; +// 14 +backupReg0i = R0i.x; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R4i.y),intBitsToFloat(R8i.z),intBitsToFloat(R11i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R2i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R9i.w = tempi.x; +// 15 +backupReg0i = R0i.x; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R4i.y),intBitsToFloat(R8i.z),intBitsToFloat(R11i.w)),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.y),intBitsToFloat(R126i.z),intBitsToFloat(R126i.w)))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R2i.z = tempi.x; +R127i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + -(intBitsToFloat(uf_uniformRegisterVS[202].x))); +PS1i = R127i.x; +// 16 +backupReg0i = R0i.x; +backupReg1i = R4i.y; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R8i.z),intBitsToFloat(R11i.w)),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R125i.z),intBitsToFloat(R125i.w)))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R4i.y = tempi.x; +R127i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + -(intBitsToFloat(uf_uniformRegisterVS[202].y))); +PS0i = R127i.y; +// 17 +R125i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + -(intBitsToFloat(uf_uniformRegisterVS[202].z))); +PV1i.z = R125i.z; +// 18 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +// 19 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R125i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R125i.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))); +// 20 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(uf_uniformRegisterVS[194].w))); +tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); +PS0i = floatBitsToInt(tempResultf); +// 21 +PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R12i.x)); +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PS0i))); +// 22 +PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + -(0.0)); +R127i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + -(1.0)); +PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.z) + -(0.0)); +R2i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); +PV0i.w = R2i.w; +// 23 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_uniformRegisterVS[200].y))); +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_uniformRegisterVS[200].x))); +R8i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R14i.y), intBitsToFloat(PV0i.z))); +PV1i.z = R8i.z; +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_uniformRegisterVS[200].z))); +R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R14i.y), intBitsToFloat(PV0i.x))); +PS1i = R7i.z; +// 24 +PV0i.x = floatBitsToInt(intBitsToFloat(R6i.w) + intBitsToFloat(PV1i.w)); +PV0i.y = floatBitsToInt(intBitsToFloat(R6i.w) + intBitsToFloat(PV1i.x)); +PV0i.z = floatBitsToInt(intBitsToFloat(R6i.w) + intBitsToFloat(PV1i.y)); +R10i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(R14i.y)) + 1.0)); +R127i.x = floatBitsToInt(intBitsToFloat(PV1i.z) * 1.0); +PS0i = R127i.x; +// 25 +R12i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(R11i.y))); +PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x40c90fdb)); +PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(0x40c90fdb)); +PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x40c90fdb)); +R6i.w = floatBitsToInt(intBitsToFloat(R7i.z) * -(1.0)); +PS1i = R6i.w; +// 26 +R6i.x = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e22f983) + 0.5)); +R11i.y = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e22f983) + 0.5)); +R6i.z = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e22f983) + 0.5)); +R11i.w = floatBitsToInt(0.0); +R6i.y = floatBitsToInt((-(0.0) * intBitsToFloat(R10i.w) + intBitsToFloat(R127i.x))); +PS0i = R6i.y; +// 0 +PV0i.x = floatBitsToInt(fract(intBitsToFloat(R11i.y))); +PV0i.y = floatBitsToInt(fract(intBitsToFloat(R6i.z))); +PV0i.z = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(uf_uniformRegisterVS[198].w)); +PV0i.w = floatBitsToInt(fract(intBitsToFloat(R6i.x))); +R125i.w = floatBitsToInt(exp2(intBitsToFloat(R12i.x))); +PS0i = R125i.w; +// 1 +R123i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); +PV1i.x = R123i.x; +R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R12i.y)) + intBitsToFloat(R2i.w))); +R123i.z = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); +PV1i.z = R123i.z; +R123i.w = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); +PV1i.w = R123i.w; +R127i.x = floatBitsToInt(intBitsToFloat(R6i.w) + -(1.0)); +PS1i = R127i.x; +// 2 +R125i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3e22f983)); +R126i.y = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e22f983)); +PV0i.z = floatBitsToInt(intBitsToFloat(R11i.w) + -(0.0)); +R126i.w = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e22f983)); +PV0i.w = R126i.w; +PS0i = floatBitsToInt(intBitsToFloat(R6i.y) + -(0.0)); +// 3 +R12i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R14i.y), intBitsToFloat(PS0i))); +PV1i.x = R12i.x; +R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R14i.y), intBitsToFloat(PV0i.z))); +PV1i.y = R125i.y; +PV1i.z = floatBitsToInt(-(intBitsToFloat(R125i.w)) + 1.0); +R124i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(R14i.y)) + 1.0)); +PV1i.w = R124i.w; +R126i.z = floatBitsToInt(sin((intBitsToFloat(PV0i.w))/0.1591549367)); +PS1i = R126i.z; +// 4 +backupReg0i = R127i.y; +R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(PV1i.w))); +R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.z))); +PV0i.y = R127i.y; +R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.w), intBitsToFloat(PV1i.x))); +R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(PV1i.y))); +R127i.x = floatBitsToInt(sin((intBitsToFloat(R126i.y))/0.1591549367)); +PS0i = R127i.x; +// 5 +backupReg0i = R126i.w; +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.z), intBitsToFloat(PV0i.y))); +R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_uniformRegisterVS[199].x))); +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_uniformRegisterVS[199].y))); +R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(PV0i.y))); +PS1i = floatBitsToInt(cos((intBitsToFloat(backupReg0i))/0.1591549367)); +// 6 +backupReg0i = R126i.y; +PV0i.x = floatBitsToInt(-(intBitsToFloat(R126i.z)) + intBitsToFloat(PS1i)); +R126i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R124i.w)),intBitsToFloat(R10i.w)) + intBitsToFloat(R125i.w))); +R125i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.y)),intBitsToFloat(R7i.z)) + intBitsToFloat(R125i.z))); +PS0i = floatBitsToInt(cos((intBitsToFloat(backupReg0i))/0.1591549367)); +// 7 +R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_uniformRegisterVS[199].z))); +R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R12i.w)) + intBitsToFloat(R126i.z))); +PV1i.y = R123i.y; +R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(R127i.y))); +PV1i.w = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS0i)); +R126i.z = floatBitsToInt(sin((intBitsToFloat(R125i.x))/0.1591549367)); +PS1i = R126i.z; +// 8 +backupReg0i = R124i.y; +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R13i.x)) + intBitsToFloat(R127i.x))); +PV0i.x = R123i.x; +R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(backupReg0i))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.y), intBitsToFloat(PV1i.y))); +R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(R127i.z))); +PS0i = floatBitsToInt(cos((intBitsToFloat(R125i.x))/0.1591549367)); +// 9 +R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R12i.x)),intBitsToFloat(R8i.z)) + intBitsToFloat(R124i.x))); +PV1i.x = R123i.x; +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), intBitsToFloat(PV0i.x))); +PV1i.z = floatBitsToInt(-(intBitsToFloat(R126i.z)) + intBitsToFloat(PS0i)); +PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.z)); +R126i.x = floatBitsToInt(intBitsToFloat(R125i.w) + -(0.0)); +PS1i = R126i.x; +// 10 +R124i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(R124i.y)); +PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + -(0.0)); +PV0i.z = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV1i.y)); +R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R4i.x)) + intBitsToFloat(R126i.z))); +PV0i.w = R123i.w; +R126i.z = floatBitsToInt(intBitsToFloat(R126i.y) + -(1.0)); +PS0i = R126i.z; +// 11 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(PV0i.w))); +R126i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R127i.w)); +PV1i.y = R126i.y; +R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R14i.y), intBitsToFloat(R126i.x))); +R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(R6i.x))); +R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R14i.y), intBitsToFloat(PV0i.y))); +PS1i = R126i.x; +// 12 +backupReg0i = R126i.z; +backupReg1i = R124i.w; +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(PV1i.y))); +PV0i.y = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(PV1i.x)); +R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.w), intBitsToFloat(PV1i.y))); +R124i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R14i.y)) + 1.0)); +PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(R124i.x))); +// 13 +PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R127i.w)); +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(R124i.x))); +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(R126i.y))); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), intBitsToFloat(R124i.x))); +R125i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PS0i)); +PS1i = R125i.z; +// 14 +PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.w)); +PV0i.y = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV1i.x))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV1i.x))); +PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(PV1i.x))); +// 15 +PV1i.x = floatBitsToInt(intBitsToFloat(R2i.w) + -(intBitsToFloat(0x3a83126f))); +PV1i.y = floatBitsToInt(intBitsToFloat(PS0i) + intBitsToFloat(PV0i.x)); +PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); +PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R125i.z)); +R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(uf_uniformRegisterVS[186].x)) + intBitsToFloat(uf_uniformRegisterVS[186].y))); +PS1i = R122i.x; +// 16 +R126i.x = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV1i.w)); +PV0i.x = R126i.x; +R126i.y = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV1i.z)); +PV0i.y = R126i.y; +R125i.z = floatBitsToInt(intBitsToFloat(R5i.w) + intBitsToFloat(PV1i.y)); +PV0i.z = R125i.z; +PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x7f7ffffd)); +PV0i.w = clampFI32(PV0i.w); +R127i.z = floatBitsToInt(floor(intBitsToFloat(PS1i))); +PS0i = R127i.z; +// 17 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(R14i.z)),vec4(intBitsToFloat(uf_uniformRegisterVS[188].x),intBitsToFloat(uf_uniformRegisterVS[188].y),intBitsToFloat(uf_uniformRegisterVS[188].z),intBitsToFloat(uf_uniformRegisterVS[188].w)))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R5i.z))); +PS1i = R5i.y; +// 18 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R126i.y),intBitsToFloat(R125i.z),intBitsToFloat(R14i.z)),vec4(intBitsToFloat(uf_uniformRegisterVS[189].x),intBitsToFloat(uf_uniformRegisterVS[189].y),intBitsToFloat(uf_uniformRegisterVS[189].z),intBitsToFloat(uf_uniformRegisterVS[189].w)))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R5i.x = floatBitsToInt(intBitsToFloat(R9i.w) + intBitsToFloat(PV1i.x)); +PS0i = R5i.x; +// 19 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R126i.y),intBitsToFloat(R125i.z),intBitsToFloat(R14i.z)),vec4(intBitsToFloat(uf_uniformRegisterVS[190].x),intBitsToFloat(uf_uniformRegisterVS[190].y),intBitsToFloat(uf_uniformRegisterVS[190].z),intBitsToFloat(uf_uniformRegisterVS[190].w)))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R14i.y = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV0i.x)); +PS1i = R14i.y; +// 20 +R126i.x = floatBitsToInt(intBitsToFloat(R5i.x) + -(intBitsToFloat(uf_uniformRegisterVS[202].x))); +R126i.y = floatBitsToInt(intBitsToFloat(PS1i) + -(intBitsToFloat(uf_uniformRegisterVS[202].y))); +R2i.z = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV1i.x)); +PV0i.z = R2i.z; +PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(R127i.z)); +// 21 +R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_uniformRegisterVS[185].x))); +PV1i.x = R124i.x; +PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + -(intBitsToFloat(uf_uniformRegisterVS[202].z))); +// 22 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.z),intBitsToFloat(R10i.w),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R126i.y),intBitsToFloat(PV1i.z),0.0))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +PS0i = floatBitsToInt(fract(intBitsToFloat(PV1i.x))); +// 23 +PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x7f7ffffd)); +PV1i.y = clampFI32(PV1i.y); +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(uf_uniformRegisterVS[187].x))); +PV1i.w = floatBitsToInt(floor(intBitsToFloat(R124i.x))); +// 24 +R4i.y = floatBitsToInt(floor(intBitsToFloat(PV1i.z))); +R10i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + -(1.0)); +R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(uf_uniformRegisterVS[185].y))); +PS0i = R1i.y; +// 0 +backupReg0i = R10i.w; +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R14i.y),intBitsToFloat(R2i.z),intBitsToFloat(R8i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[11].x),intBitsToFloat(uf_uniformRegisterVS[11].y),intBitsToFloat(uf_uniformRegisterVS[11].z),intBitsToFloat(uf_uniformRegisterVS[11].w)))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R10i.w = tempi.x; +R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.x)) + 1.0)); +PS0i = R122i.x; +// 1 +PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + -(intBitsToFloat(uf_uniformRegisterVS[201].w))); +R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PS0i))); +R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(uf_uniformRegisterVS[185].x))); +PS1i = R1i.x; +// 2 +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_uniformRegisterVS[202].w))); +PV0i.z = clampFI32(PV0i.z); +// 3 +R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV0i.z))); +PV1i.w = R1i.w; +// 4 +PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.w) + -(intBitsToFloat(0x3a83126f))); +// 5 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R14i.y),intBitsToFloat(R2i.z),intBitsToFloat(R8i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[10].x),intBitsToFloat(uf_uniformRegisterVS[10].y),intBitsToFloat(uf_uniformRegisterVS[10].z),intBitsToFloat(uf_uniformRegisterVS[10].w)))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R10i.z = tempi.x; +R126i.y = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x7f7ffffd)); +R126i.y = clampFI32(R126i.y); +PS1i = R126i.y; +// 6 +PV0i.x = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0); +PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); +// 7 +PV1i.x = floatBitsToInt(intBitsToFloat(R12i.z) * intBitsToFloat(PS0i)); +R127i.z = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x7f7ffffd)); +// 8 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R14i.y),intBitsToFloat(R2i.z),intBitsToFloat(R8i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[8].x),intBitsToFloat(uf_uniformRegisterVS[8].y),intBitsToFloat(uf_uniformRegisterVS[8].z),intBitsToFloat(uf_uniformRegisterVS[8].w)))); +PV0i.x = tempi.x; +PV0i.y = tempi.x; +PV0i.z = tempi.x; +PV0i.w = tempi.x; +R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV1i.x))); +PS0i = R7i.x; +// 9 +tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R14i.y),intBitsToFloat(R2i.z),intBitsToFloat(R8i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[9].x),intBitsToFloat(uf_uniformRegisterVS[9].y),intBitsToFloat(uf_uniformRegisterVS[9].z),intBitsToFloat(uf_uniformRegisterVS[9].w)))); +PV1i.x = tempi.x; +PV1i.y = tempi.x; +PV1i.z = tempi.x; +PV1i.w = tempi.x; +R10i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.z)); +PS1i = R10i.x; +// 10 +R10i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R127i.z)); +// export +SET_POSITION(vec4(intBitsToFloat(R10i.x), intBitsToFloat(R10i.y), intBitsToFloat(R10i.z), intBitsToFloat(R10i.w))); +// export +gl_PointSize = (vec4(intBitsToFloat(R7i.x), intBitsToFloat(R7i.y), intBitsToFloat(R7i.y), intBitsToFloat(R7i.y))).x/resScale; +// export +passParameterSem144 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); +// 0 +} diff --git a/Resolutions/Bayonetta2_Resolution/e5870717602e2f55_0000000000000000_vs.txt b/Resolutions/Bayonetta2_Resolution/e5870717602e2f55_0000000000000000_vs.txt deleted file mode 100644 index cca04213..00000000 --- a/Resolutions/Bayonetta2_Resolution/e5870717602e2f55_0000000000000000_vs.txt +++ /dev/null @@ -1,192 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#ifdef VULKAN -#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) -#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) -#define gl_VertexID gl_VertexIndex -#define gl_InstanceID gl_InstanceIndex -#else -#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) -#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) -#define SET_POSITION(_v) gl_Position = _v -#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) -#endif -// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. - -// shader e5870717602e2f55 //layer blur -const float resScale = float($height)/float($gameHeight); -#ifdef VULKAN -layout(set = 0, binding = 0) uniform ufBlock -{ -uniform ivec4 uf_remappedVS[8]; -// uniform vec2 uf_windowSpaceToClipSpaceTransform; // Cemu optimized this uf_variable away in Cemu 1.15.7 -}; -#else -uniform ivec4 uf_remappedVS[8]; -// uniform vec2 uf_windowSpaceToClipSpaceTransform; // Cemu optimized this uf_variable away in Cemu 1.15.7 -#endif -// uf_windowSpaceToClipSpaceTransform was moved to the ufBlock -ATTR_LAYOUT(0, 0) in uvec4 attrDataSem0; -ATTR_LAYOUT(0, 1) in uvec4 attrDataSem5; -ATTR_LAYOUT(0, 2) in uvec4 attrDataSem16; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem134; -layout(location = 2) out vec4 passParameterSem135; -layout(location = 3) out vec4 passParameterSem136; -layout(location = 0) out vec4 passParameterSem133; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R5f = vec4(0.0); -vec4 R6f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder = attrDataSem0; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder = attrDataSem5; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder = attrDataSem16; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -// 0 -R126f.x = 1.0; -R126f.y = mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x), intBitsToFloat(uf_remappedVS[1].x))/resScale; -R0f.z = 0.0; -R127f.w = 1.0; -PV0f.w = R127f.w; -R0f.w = 1.0; -PS0f = R0f.w; -// 1 -R127f.x = dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w)),vec4(R2f.x,R2f.y,R2f.z,PV0f.w)); -PV1f.x = R127f.x; -PV1f.y = R127f.x; -PV1f.z = R127f.x; -PV1f.w = R127f.x; -R6f.x = R3f.x; -PS1f = R6f.x; -// 2 -tempf.x = dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w)),vec4(R2f.x,R2f.y,R2f.z,R127f.w)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R127f.y = tempf.x; -R6f.y = R3f.y; -PS0f = R6f.y; -// 3 -tempf.x = dot(vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w)),vec4(R2f.x,R2f.y,R2f.z,R127f.w)); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R127f.z = tempf.x; -// 4 -R0f.x = dot(vec4(R127f.x,R127f.y,PV1f.x,R126f.x),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); -PV0f.x = R0f.x; -PV0f.y = R0f.x; -PV0f.z = R0f.x; -PV0f.w = R0f.x; -// 5 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.x),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R0f.y = tempf.x; -// 6 -PV0f.w = mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y), intBitsToFloat(uf_remappedVS[1].y))/resScale; -// 7 -R127f.x = mul_nonIEEE(R126f.y, intBitsToFloat(uf_remappedVS[1].z)); -PV1f.x = R127f.x; -R2f.y = mul_nonIEEE(R1f.y, intBitsToFloat(uf_remappedVS[7].y)); -R127f.z = mul_nonIEEE(PV0f.w, intBitsToFloat(uf_remappedVS[1].z)); -PV1f.z = R127f.z; -R2f.x = mul_nonIEEE(R1f.x, intBitsToFloat(uf_remappedVS[7].x)); -PS1f = R2f.x; -// 8 -PV0f.x = R3f.y + PV1f.z; -R126f.y = R3f.x + PV1f.x; -R126f.z = PV1f.z * intBitsToFloat(0x40400000); -PV0f.z = R126f.z; -R127f.w = PV1f.x * intBitsToFloat(0x40400000); -PV0f.w = R127f.w; -R126f.w = (PV1f.x * 2.0 + R3f.x); -PS0f = R126f.w; -// 9 -R126f.x = R3f.y + PV0f.z; -R127f.y = R3f.x + PV0f.w; -R123f.z = (R127f.z * 2.0 + R3f.y); -PV1f.z = R123f.z; -R4f.w = PV0f.x; -R4f.x = R3f.x + -(R127f.x); -PS1f = R4f.x; -// 10 -R5f.x = (-(R127f.x) * 2.0 + R3f.x); -R4f.y = R3f.y + -(R127f.z); -R4f.z = R126f.y; -R5f.w = PV1f.z; -R5f.y = (-(R127f.z) * 2.0 + R3f.y); -PS0f = R5f.y; -// 11 -backupReg0f = R3f.x; -backupReg1f = R3f.y; -R3f.x = backupReg0f + -(R127f.w); -R3f.y = backupReg1f + -(R126f.z); -R5f.z = R126f.w; -R3f.w = R126f.x; -R3f.z = R127f.y; -PS1f = R3f.z; -// 12 -R2f.z = mul_nonIEEE(R1f.z, intBitsToFloat(uf_remappedVS[7].z)); -R2f.w = mul_nonIEEE(R1f.w, intBitsToFloat(uf_remappedVS[7].w)); -// export -SET_POSITION(vec4(R0f.x, R0f.y, R0f.z, R0f.w)); -// export -// skipped export to semanticId 255 -// export -passParameterSem134 = vec4(R4f.x, R4f.y, R4f.z, R4f.w); -// export -passParameterSem135 = vec4(R5f.x, R5f.y, R5f.z, R5f.w); -// export -passParameterSem136 = vec4(R3f.x, R3f.y, R3f.z, R3f.w); -// export -passParameterSem133 = vec4(R6f.x, R6f.y, R6f.z, R6f.z); -// 0 -} diff --git a/Resolutions/Bayonetta2_Resolution/patch_aspect.asm b/Resolutions/Bayonetta2_Resolution/patch_aspect.asm new file mode 100644 index 00000000..315ad8ec --- /dev/null +++ b/Resolutions/Bayonetta2_Resolution/patch_aspect.asm @@ -0,0 +1,23 @@ +[Bayo2USv0] #v5 asm +moduleMatches = 0xAF5D1A85 + +.origin = codecave all +_widthScaleRatio: +.float $width +_heightScaleRatio: +.float $height + +_Cave: +lis r7, _widthScaleRatio@ha +lfs f13, _widthScaleRatio@l(r7) +lis r7, _heightScaleRatio@ha +lfs f31, _heightScaleRatio@l(r7) + +fdivs f2, f13, f31 +blr + + +0x032F2E6C = bla _Cave +0x032F2044 = bla _Cave +0x032F207C = bla _Cave +0x032F2084 = bla _Cave diff --git a/Resolutions/Bayonetta2_Resolution/rules.txt b/Resolutions/Bayonetta2_Resolution/rules.txt index c0a10b63..bf1db6f2 100644 --- a/Resolutions/Bayonetta2_Resolution/rules.txt +++ b/Resolutions/Bayonetta2_Resolution/rules.txt @@ -79,6 +79,35 @@ $height = 4320 $gameWidth = 1280 $gameHeight = 720 +[Preset] +name = -- 21:9 -- resolutions +$width = 2560 +$height = 720 +$gameWidth = 1280 +$gameHeight = 720 + + +[Preset] +name = 2560x720 (21:9) +$width = 2560 +$height = 720 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3440x1440 (21:9) +$width = 3440 +$height = 1440 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 5120x2160 (21:9) +$width = 5120 +$height = 2160 +$gameWidth = 1280 +$gameHeight = 720 + [Preset] # Should work fine on a 1070 and fixes most of horizontal shimmering name = --- SSAA res Tweaks - Set scaling to Stretch $width = 1920 @@ -107,6 +136,44 @@ $height = 4320 $gameWidth = 1280 $gameHeight = 720 +#Colour depth + +[TextureRedefine] +width = 1280 +height = 720 +formats = 0x01a +overwriteFormat = 0x01f + +[TextureRedefine] +width = 640 +height = 368 +formats = 0x01a +overwriteFormat = 0x01f + +[TextureRedefine] +width = 640 +height = 360 +formats = 0x01a +overwriteFormat = 0x01f + +[TextureRedefine] +width = 320 +height = 192 +formats = 0x01a +overwriteFormat = 0x01f + +[TextureRedefine] +width = 320 +height = 180 +formats = 0x01a +overwriteFormat = 0x01f + +[TextureRedefine] +width = 320 +height = 176 +formats = 0x01a +overwriteFormat = 0x01f + [TextureRedefine] # Game Resolution width = 1280 height = 720 @@ -152,6 +219,14 @@ formats = 0x011 overwriteWidth = ($width / $gameWidth) * 256 overwriteHeight = ($height / $gameHeight) * 256 +[TextureRedefine] # depth loading etc +width = 128 +height = 128 +formats = 0x011 #,0x1a +depth = 1 +overwriteWidth = ($width / $gameWidth) * 128 +overwriteHeight = ($height / $gameHeight) * 128 + [TextureRedefine] # Bloom Mip width = 96 height = 48 @@ -164,6 +239,14 @@ height = 48 overwriteWidth = ($width / $gameWidth) * 80 overwriteHeight = ($height / $gameHeight) * 48 +[TextureRedefine] # depth loading etc +width = 64 +height = 64 +depth = 1 +formats = 0x011 #,0x1a +overwriteWidth = ($width / $gameWidth) * 64 +overwriteHeight = ($height / $gameHeight) * 64 + [TextureRedefine] # Bloom Mip width = 64 height = 32 @@ -177,16 +260,16 @@ height = 32 overwriteWidth = ($width / $gameWidth) * 48 overwriteHeight = ($height / $gameHeight) * 32 -[TextureRedefine] # particles -width = 8 -height = 8 -formats = 0x01a -overwriteWidth = ($width / $gameWidth) * 8 -overwriteHeight = ($height / $gameHeight) * 8 - -[TextureRedefine] # grading? -width = 4 -height = 4 -formats = 0x80e -overwriteWidth = ($width / $gameWidth) * 4 -overwriteHeight = ($height / $gameHeight) * 4 \ No newline at end of file +#[TextureRedefine] # particles +#width = 8 +#height = 8 +#formats = 0x01a +#overwriteWidth = ($width / $gameWidth) * 8 +#overwriteHeight = ($height / $gameHeight) * 8 +# +#[TextureRedefine] # grading? +#width = 4 +#height = 4 +#formats = 0x80e +#overwriteWidth = ($width / $gameWidth) * 4 +#overwriteHeight = ($height / $gameHeight) * 4 \ No newline at end of file