mirror of
https://github.com/cemu-project/cemu_graphic_packs.git
synced 2024-12-23 00:11:51 +01:00
Bayonetta 2- Ultrawide, DOF, scale gl_point
Cutscene DOF is LOD based, should not have been scaled.
This commit is contained in:
parent
1c6828fa8c
commit
49719345a7
@ -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);
|
||||
}
|
@ -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;
|
||||
|
@ -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
|
||||
}
|
@ -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);
|
||||
|
@ -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);
|
||||
}
|
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
}
|
@ -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
|
||||
|
@ -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
|
||||
}
|
@ -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
|
||||
}
|
@ -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
|
||||
}
|
23
Resolutions/Bayonetta2_Resolution/patch_aspect.asm
Normal file
23
Resolutions/Bayonetta2_Resolution/patch_aspect.asm
Normal file
@ -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
|
@ -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
|
||||
#[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
|
Loading…
Reference in New Issue
Block a user