[Splatoon] Fix AMD bugs

This commit is contained in:
Michael 2018-04-01 12:30:07 -07:00
parent 307fb07fc2
commit f4e7ecae47
12 changed files with 653 additions and 0 deletions

View File

@ -0,0 +1,22 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
// shader 5589940158f30db3
uniform ivec4 uf_remappedPS[1];
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x156f2000 res 256x256x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1
layout(location = 0) in vec4 passParameterSem0;
layout(location = 0) out vec4 passPixelColor0;
uniform vec2 uf_fragCoordScale;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
}

View File

@ -0,0 +1,51 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
#extension GL_ARB_shading_language_packing : enable
// shader 62d887aeff99f5a3
uniform ivec4 uf_remappedVS[78];
uniform vec2 uf_windowSpaceToClipSpaceTransform;
uniform float uf_alphaTestRef;
layout(binding = 42) uniform sampler2D textureUnitVS10;// Tex10 addr 0x1c997000 res 2048x2048x1 dim 1 tm: 4 format 081e compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler28 ClampX/Y/Z: 2 2 2 border: 1
layout(binding = 43) uniform sampler2DArrayShadow textureUnitVS11;// Tex11 addr 0xf494a800 res 1024x1024x2 dim 5 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x2) Sampler29 ClampX/Y/Z: 6 6 6 border: 2
layout(binding = 44) uniform sampler1DShadow textureUnitVS12;layout(binding = 45) uniform sampler2D textureUnitVS13;// Tex13 addr 0x39c73000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler31 ClampX/Y/Z: 0 0 0 border: 1
layout(location = 0) in uvec4 attrDataSem0;
layout(location = 1) in uvec4 attrDataSem1;
layout(location = 2) in uvec4 attrDataSem2;
layout(location = 3) in uvec4 attrDataSem3;
layout(location = 4) in uvec4 attrDataSem4;
layout(location = 5) in uvec4 attrDataSem5;
layout(location = 6) in uvec4 attrDataSem6;
layout(location = 7) in uvec4 attrDataSem7;
layout(location = 8) in uvec4 attrDataSem8;
layout(location = 9) in uvec4 attrDataSem9;
layout(location = 10) in uvec4 attrDataSem10;
layout(location = 11) in uvec4 attrDataSem11;
layout(location = 12) in uvec4 attrDataSem12;
out gl_PerVertex
{
vec4 gl_Position;
float gl_PointSize;
};
layout(location = 0) out vec4 passParameterSem0;
layout(location = 1) out vec4 passParameterSem4;
layout(location = 2) out vec4 passParameterSem5;
layout(location = 3) out vec4 passParameterSem6;
layout(location = 5) out vec4 passParameterSem8;
layout(location = 6) out vec4 passParameterSem9;
layout(location = 7) out vec4 passParameterSem11;
layout(location = 4) out vec4 passParameterSem7;
layout(location = 8) out vec4 passParameterSem12;
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()
{
}

View File

@ -0,0 +1,123 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
// shader 68357a3eaf8b29a8
uniform ivec4 uf_remappedPS[18];
layout(binding = 0) uniform samplerCubeArray textureUnitPS0;// Tex0 addr 0x17f2e800 res 4x4x1 dim 3 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x6) Sampler0 ClampX/Y/Z: 2 2 2 border: 1
layout(binding = 1) uniform sampler2DArrayShadow textureUnitPS1;// Tex1 addr 0x17f2f800 res 4x4x1 dim 5 tm: 2 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1
layout(binding = 2) uniform samplerCubeArray textureUnitPS2;// Tex2 addr 0x1c778800 res 32x32x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x6) Sampler2 ClampX/Y/Z: 2 2 2 border: 1
layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x17f2b000 res 4x4x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 1
layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x21e2e000 res 2048x1024x1 dim 1 tm: 4 format 0035 compSel: 0 1 4 4 mipView: 0x0 (num 0xc) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0
layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x220da000 res 512x256x1 dim 1 tm: 4 format 0033 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 2 border: 0
layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0x23f9c000 res 128x128x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 0 0 2 border: 0
layout(binding = 7) uniform sampler2D textureUnitPS7;// Tex7 addr 0x22e8e000 res 256x256x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler7 ClampX/Y/Z: 0 0 2 border: 0
layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x23fa0000 res 256x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 2 border: 0
layout(location = 0) in vec4 passParameterSem0;
layout(location = 1) in vec4 passParameterSem1;
layout(location = 2) in vec4 passParameterSem2;
layout(location = 3) in vec4 passParameterSem3;
layout(location = 4) in vec4 passParameterSem4;
layout(location = 5) in vec4 passParameterSem7;
layout(location = 6) in vec4 passParameterSem5;
layout(location = 7) in vec4 passParameterSem6;
layout(location = 8) in vec4 passParameterSem8;
layout(location = 9) in vec4 passParameterSem9;
layout(location = 0) out vec4 passPixelColor0;
uniform vec2 uf_fragCoordScale;
void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId)
{
// stm -> x .. s, y .. t, z .. MajorAxis*2.0
vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x));
float rx = inputCoord.x;
float ry = inputCoord.y;
float rz = inputCoord.z;
if( abs(rx) > abs(ry) && abs(rx) > abs(rz) )
{
stm.z = rx*2.0;
stm.xy = vec2(ry,rz);
if( rx >= 0.0 )
{
faceId = 0;
}
else
{
faceId = 1;
}
}
else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) )
{
stm.z = ry*2.0;
stm.xy = vec2(rx,rz);
if( ry >= 0.0 )
{
faceId = 2;
}
else
{
faceId = 3;
}
}
else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) )
{
stm.z = rz*2.0;
stm.xy = vec2(rx,ry);
if( rz >= 0.0 )
{
faceId = 4;
}
else
{
faceId = 5;
}
}
}
vec3 redcCUBEReverse(vec2 st, int faceId)
{
st.yx = st.xy;
vec3 v;
float majorAxis = 1.0;
if( faceId == 0 )
{
v.yz = (st-vec2(1.5))*(majorAxis*2.0);
v.x = 1.0;
}
else if( faceId == 1 )
{
v.yz = (st-vec2(1.5))*(majorAxis*2.0);
v.x = -1.0;
}
else if( faceId == 2 )
{
v.xz = (st-vec2(1.5))*(majorAxis*2.0);
v.y = 1.0;
}
else if( faceId == 3 )
{
v.xz = (st-vec2(1.5))*(majorAxis*2.0);
v.y = -1.0;
}
else if( faceId == 4 )
{
v.xy = (st-vec2(1.5))*(majorAxis*2.0);
v.z = 1.0;
}
else
{
v.xy = (st-vec2(1.5))*(majorAxis*2.0);
v.z = -1.0;
}
return v;
}
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
}

View File

@ -0,0 +1,48 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
#extension GL_ARB_shading_language_packing : enable
// shader 69b5b934d877bac0
uniform ivec4 uf_remappedVS[75];
uniform vec2 uf_windowSpaceToClipSpaceTransform;
uniform float uf_alphaTestRef;
layout(binding = 42) uniform sampler2D textureUnitVS10;// Tex10 addr 0x1c997000 res 2048x2048x1 dim 1 tm: 4 format 081e compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler28 ClampX/Y/Z: 2 2 2 border: 1
layout(binding = 43) uniform sampler2DArrayShadow textureUnitVS11;// Tex11 addr 0xf494a800 res 1024x1024x2 dim 5 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x2) Sampler29 ClampX/Y/Z: 6 6 6 border: 2
layout(binding = 44) uniform sampler1DShadow textureUnitVS12;layout(location = 0) in uvec4 attrDataSem0;
layout(location = 1) in uvec4 attrDataSem1;
layout(location = 2) in uvec4 attrDataSem2;
layout(location = 3) in uvec4 attrDataSem3;
layout(location = 4) in uvec4 attrDataSem4;
layout(location = 5) in uvec4 attrDataSem5;
layout(location = 6) in uvec4 attrDataSem6;
layout(location = 7) in uvec4 attrDataSem7;
layout(location = 8) in uvec4 attrDataSem8;
layout(location = 9) in uvec4 attrDataSem9;
out gl_PerVertex
{
vec4 gl_Position;
float gl_PointSize;
};
layout(location = 0) out vec4 passParameterSem0;
layout(location = 1) out vec4 passParameterSem1;
layout(location = 2) out vec4 passParameterSem4;
layout(location = 3) out vec4 passParameterSem5;
layout(location = 4) out vec4 passParameterSem6;
layout(location = 6) out vec4 passParameterSem8;
layout(location = 7) out vec4 passParameterSem9;
layout(location = 8) out vec4 passParameterSem11;
layout(location = 5) out vec4 passParameterSem7;
layout(location = 9) out vec4 passParameterSem12;
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()
{
}

View File

@ -0,0 +1,108 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
// shader 71a7179980cfe114
uniform ivec4 uf_remappedPS[1];
layout(binding = 0) uniform samplerCubeArray textureUnitPS0;// Tex0 addr 0xf4241000 res 256x256x1 dim 3 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x6) Sampler0 ClampX/Y/Z: 2 2 2 border: 1
layout(location = 0) in vec4 passParameterSem0;
layout(location = 1) in vec4 passParameterSem1;
layout(location = 2) in vec4 passParameterSem2;
layout(location = 0) out vec4 passPixelColor0;
uniform vec2 uf_fragCoordScale;
void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId)
{
// stm -> x .. s, y .. t, z .. MajorAxis*2.0
vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x));
float rx = inputCoord.x;
float ry = inputCoord.y;
float rz = inputCoord.z;
if( abs(rx) > abs(ry) && abs(rx) > abs(rz) )
{
stm.z = rx*2.0;
stm.xy = vec2(ry,rz);
if( rx >= 0.0 )
{
faceId = 0;
}
else
{
faceId = 1;
}
}
else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) )
{
stm.z = ry*2.0;
stm.xy = vec2(rx,rz);
if( ry >= 0.0 )
{
faceId = 2;
}
else
{
faceId = 3;
}
}
else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) )
{
stm.z = rz*2.0;
stm.xy = vec2(rx,ry);
if( rz >= 0.0 )
{
faceId = 4;
}
else
{
faceId = 5;
}
}
}
vec3 redcCUBEReverse(vec2 st, int faceId)
{
st.yx = st.xy;
vec3 v;
float majorAxis = 1.0;
if( faceId == 0 )
{
v.yz = (st-vec2(1.5))*(majorAxis*2.0);
v.x = 1.0;
}
else if( faceId == 1 )
{
v.yz = (st-vec2(1.5))*(majorAxis*2.0);
v.x = -1.0;
}
else if( faceId == 2 )
{
v.xz = (st-vec2(1.5))*(majorAxis*2.0);
v.y = 1.0;
}
else if( faceId == 3 )
{
v.xz = (st-vec2(1.5))*(majorAxis*2.0);
v.y = -1.0;
}
else if( faceId == 4 )
{
v.xy = (st-vec2(1.5))*(majorAxis*2.0);
v.z = 1.0;
}
else
{
v.xy = (st-vec2(1.5))*(majorAxis*2.0);
v.z = -1.0;
}
return v;
}
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
}

View File

@ -0,0 +1,25 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
// shader 733ee69ec9dd5e30 - some kind of shading?
uniform ivec4 uf_remappedPS[21];
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4240800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1
layout(binding = 1) uniform sampler2DArrayShadow textureUnitPS1;// Tex1 addr 0xf494a800 res 1024x1024x2 dim 5 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x2) Sampler1 ClampX/Y/Z: 6 6 6 border: 2
layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x1cb17000 res 2048x2048x1 dim 1 tm: 4 format 081e compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1
layout(location = 0) noperspective in vec4 passParameterSem0;
layout(location = 1) noperspective in vec4 passParameterSem4;
layout(location = 0) out vec4 passPixelColor0;
uniform vec2 uf_fragCoordScale;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
}

View File

@ -0,0 +1,31 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
#extension GL_ARB_shading_language_packing : enable
// shader 89371aa2435ecc7c
uniform ivec4 uf_remappedVS[17];
uniform vec2 uf_windowSpaceToClipSpaceTransform;
layout(location = 0) in uvec4 attrDataSem0;
layout(location = 1) in uvec4 attrDataSem1;
layout(location = 2) in uvec4 attrDataSem8;
out gl_PerVertex
{
vec4 gl_Position;
float gl_PointSize;
};
layout(location = 2) out vec4 passParameterSem2;
layout(location = 1) out vec4 passParameterSem1;
layout(location = 0) out vec4 passParameterSem0;
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()
{
}

View File

@ -0,0 +1,41 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
#extension GL_ARB_shading_language_packing : enable
// shader acdc2cc298f22eed
uniform ivec4 uf_remappedVS[37];
uniform vec2 uf_windowSpaceToClipSpaceTransform;
layout(location = 0) in uvec4 attrDataSem0;
layout(location = 1) in uvec4 attrDataSem1;
layout(location = 2) in uvec4 attrDataSem2;
layout(location = 3) in uvec4 attrDataSem8;
layout(location = 4) in uvec4 attrDataSem9;
layout(location = 5) in uvec4 attrDataSem12;
out gl_PerVertex
{
vec4 gl_Position;
float gl_PointSize;
};
layout(location = 2) out vec4 passParameterSem2;
layout(location = 6) out vec4 passParameterSem5;
layout(location = 7) out vec4 passParameterSem6;
layout(location = 8) out vec4 passParameterSem8;
layout(location = 1) out vec4 passParameterSem1;
layout(location = 5) out vec4 passParameterSem7;
layout(location = 3) out vec4 passParameterSem3;
layout(location = 4) out vec4 passParameterSem4;
layout(location = 9) out vec4 passParameterSem9;
layout(location = 0) out vec4 passParameterSem0;
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()
{
}

View File

@ -0,0 +1,28 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
#extension GL_ARB_shading_language_packing : enable
// shader b1951b6b76aa5c84 - some kind of shading?
uniform ivec4 uf_remappedVS[3];
uniform vec2 uf_windowSpaceToClipSpaceTransform;
layout(location = 0) in uvec4 attrDataSem0;
out gl_PerVertex
{
vec4 gl_Position;
float gl_PointSize;
};
layout(location = 0) noperspective out vec4 passParameterSem0;
layout(location = 1) noperspective out vec4 passParameterSem4;
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()
{
}

View File

@ -0,0 +1,22 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
// shader b997476498552b16
uniform ivec4 uf_remappedPS[1];
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x156f2000 res 64x64x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1
layout(location = 0) in vec4 passParameterSem0;
layout(location = 0) out vec4 passPixelColor0;
uniform vec2 uf_fragCoordScale;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
}

View File

@ -0,0 +1,109 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
// shader d61363e0854c74ad
uniform ivec4 uf_remappedPS[1];
layout(binding = 0) uniform samplerCubeArray textureUnitPS0;// Tex0 addr 0x1c778800 res 32x32x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x6) Sampler0 ClampX/Y/Z: 2 2 2 border: 1
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x221ea000 res 2048x256x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xc) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 2 border: 0
layout(location = 0) in vec4 passParameterSem0;
layout(location = 1) in vec4 passParameterSem1;
layout(location = 2) in vec4 passParameterSem2;
layout(location = 0) out vec4 passPixelColor0;
uniform vec2 uf_fragCoordScale;
void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId)
{
// stm -> x .. s, y .. t, z .. MajorAxis*2.0
vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x));
float rx = inputCoord.x;
float ry = inputCoord.y;
float rz = inputCoord.z;
if( abs(rx) > abs(ry) && abs(rx) > abs(rz) )
{
stm.z = rx*2.0;
stm.xy = vec2(ry,rz);
if( rx >= 0.0 )
{
faceId = 0;
}
else
{
faceId = 1;
}
}
else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) )
{
stm.z = ry*2.0;
stm.xy = vec2(rx,rz);
if( ry >= 0.0 )
{
faceId = 2;
}
else
{
faceId = 3;
}
}
else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) )
{
stm.z = rz*2.0;
stm.xy = vec2(rx,ry);
if( rz >= 0.0 )
{
faceId = 4;
}
else
{
faceId = 5;
}
}
}
vec3 redcCUBEReverse(vec2 st, int faceId)
{
st.yx = st.xy;
vec3 v;
float majorAxis = 1.0;
if( faceId == 0 )
{
v.yz = (st-vec2(1.5))*(majorAxis*2.0);
v.x = 1.0;
}
else if( faceId == 1 )
{
v.yz = (st-vec2(1.5))*(majorAxis*2.0);
v.x = -1.0;
}
else if( faceId == 2 )
{
v.xz = (st-vec2(1.5))*(majorAxis*2.0);
v.y = 1.0;
}
else if( faceId == 3 )
{
v.xz = (st-vec2(1.5))*(majorAxis*2.0);
v.y = -1.0;
}
else if( faceId == 4 )
{
v.xy = (st-vec2(1.5))*(majorAxis*2.0);
v.z = 1.0;
}
else
{
v.xy = (st-vec2(1.5))*(majorAxis*2.0);
v.z = -1.0;
}
return v;
}
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
}

View File

@ -0,0 +1,45 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
#extension GL_ARB_shading_language_packing : enable
// shader d92fe9087a495dcb
uniform ivec4 uf_remappedVS[86];
uniform vec2 uf_windowSpaceToClipSpaceTransform;
uniform float uf_alphaTestRef;
layout(binding = 42) uniform sampler2D textureUnitVS10;// Tex10 addr 0x1cb21000 res 2048x2048x1 dim 1 tm: 4 format 081e compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler28 ClampX/Y/Z: 2 2 2 border: 1
layout(binding = 43) uniform sampler2DArrayShadow textureUnitVS11;// Tex11 addr 0xf494a800 res 1024x1024x2 dim 5 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x2) Sampler29 ClampX/Y/Z: 6 6 6 border: 2
layout(binding = 44) uniform sampler1DShadow textureUnitVS12;layout(binding = 45) uniform sampler2D textureUnitVS13;// Tex13 addr 0x39084000 res 1024x1024x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler31 ClampX/Y/Z: 0 0 0 border: 1
layout(location = 0) in uvec4 attrDataSem0;
layout(location = 1) in uvec4 attrDataSem1;
layout(location = 2) in uvec4 attrDataSem2;
layout(location = 3) in uvec4 attrDataSem3;
layout(location = 4) in uvec4 attrDataSem4;
layout(location = 5) in uvec4 attrDataSem5;
layout(location = 6) in uvec4 attrDataSem6;
layout(location = 7) in uvec4 attrDataSem7;
layout(location = 8) in uvec4 attrDataSem8;
out gl_PerVertex
{
vec4 gl_Position;
float gl_PointSize;
};
layout(location = 0) out vec4 passParameterSem0;
layout(location = 1) out vec4 passParameterSem1;
layout(location = 2) out vec4 passParameterSem3;
layout(location = 3) out vec4 passParameterSem4;
layout(location = 4) out vec4 passParameterSem5;
layout(location = 5) out vec4 passParameterSem8;
layout(location = 6) out vec4 passParameterSem11;
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()
{
}