cemu_graphic_packs/Resolutions/VCGBA_Resolution/79ba8affb269f61c_0000000000000079_ps.txt

50 lines
1.5 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
// shader 79ba8affb269f61c
// Checked against output from mGBA (191/255 = Wii U is 74.90196078431373% darker)
// verified on Fire Emblem and Minish Cap
uniform vec2 uf_fragCoordScale;
layout(binding = 0) uniform sampler2D textureUnitPS0;
layout(location = 0) in vec4 passParameterSem128;
layout(location = 1) in vec4 passParameterSem129;
layout(location = 0) out vec4 passPixelColor0;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
vec4 R0f = vec4(0.0);
vec4 R1f = vec4(0.0);
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
float PS0f = 0.0, PS1f = 0.0;
vec4 tempf = vec4(0.0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0f = passParameterSem128;
R1f = passParameterSem129;
R1f.xyzw = (texture(textureUnitPS0, R1f.xy).xyzw);
// 0
backupReg0f = R0f.x;
backupReg1f = R0f.y;
backupReg2f = R0f.z;
backupReg3f = R0f.w;
R0f.x = mul_nonIEEE(backupReg0f, R1f.x);
R0f.y = mul_nonIEEE(backupReg1f, R1f.y);
R0f.z = mul_nonIEEE(backupReg2f, R1f.z);
R0f.w = mul_nonIEEE(backupReg3f, R1f.w);
// export
passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w)*float(1.335078534031414);
}