From f4e7ecae4748ad1d2be9078f928f274275b71dfe Mon Sep 17 00:00:00 2001 From: Michael Date: Sun, 1 Apr 2018 12:30:07 -0700 Subject: [PATCH] [Splatoon] Fix AMD bugs --- .../5589940158f30db3_0000000000000079_ps.txt | 22 ++++ .../62d887aeff99f5a3_0000000000000000_vs.txt | 51 ++++++++ .../68357a3eaf8b29a8_000000007bac9249_ps.txt | 123 ++++++++++++++++++ .../69b5b934d877bac0_0000000000000000_vs.txt | 48 +++++++ .../71a7179980cfe114_000000000000007b_ps.txt | 108 +++++++++++++++ .../733ee69ec9dd5e30_0000000000001e69_ps.txt | 25 ++++ .../89371aa2435ecc7c_0000000000000000_vs.txt | 31 +++++ .../acdc2cc298f22eed_0000000000000000_vs.txt | 41 ++++++ .../b1951b6b76aa5c84_0000000000000000_vs.txt | 28 ++++ .../b997476498552b16_0000000000000079_ps.txt | 22 ++++ .../d61363e0854c74ad_00000000000003d9_ps.txt | 109 ++++++++++++++++ .../d92fe9087a495dcb_0000000000000000_vs.txt | 45 +++++++ 12 files changed, 653 insertions(+) create mode 100644 Source/Splatoon/5589940158f30db3_0000000000000079_ps.txt create mode 100644 Source/Splatoon/62d887aeff99f5a3_0000000000000000_vs.txt create mode 100644 Source/Splatoon/68357a3eaf8b29a8_000000007bac9249_ps.txt create mode 100644 Source/Splatoon/69b5b934d877bac0_0000000000000000_vs.txt create mode 100644 Source/Splatoon/71a7179980cfe114_000000000000007b_ps.txt create mode 100644 Source/Splatoon/733ee69ec9dd5e30_0000000000001e69_ps.txt create mode 100644 Source/Splatoon/89371aa2435ecc7c_0000000000000000_vs.txt create mode 100644 Source/Splatoon/acdc2cc298f22eed_0000000000000000_vs.txt create mode 100644 Source/Splatoon/b1951b6b76aa5c84_0000000000000000_vs.txt create mode 100644 Source/Splatoon/b997476498552b16_0000000000000079_ps.txt create mode 100644 Source/Splatoon/d61363e0854c74ad_00000000000003d9_ps.txt create mode 100644 Source/Splatoon/d92fe9087a495dcb_0000000000000000_vs.txt diff --git a/Source/Splatoon/5589940158f30db3_0000000000000079_ps.txt b/Source/Splatoon/5589940158f30db3_0000000000000079_ps.txt new file mode 100644 index 00000000..38a1a634 --- /dev/null +++ b/Source/Splatoon/5589940158f30db3_0000000000000079_ps.txt @@ -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() +{ + +} diff --git a/Source/Splatoon/62d887aeff99f5a3_0000000000000000_vs.txt b/Source/Splatoon/62d887aeff99f5a3_0000000000000000_vs.txt new file mode 100644 index 00000000..06c4021e --- /dev/null +++ b/Source/Splatoon/62d887aeff99f5a3_0000000000000000_vs.txt @@ -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() +{ + +} diff --git a/Source/Splatoon/68357a3eaf8b29a8_000000007bac9249_ps.txt b/Source/Splatoon/68357a3eaf8b29a8_000000007bac9249_ps.txt new file mode 100644 index 00000000..61ea6e26 --- /dev/null +++ b/Source/Splatoon/68357a3eaf8b29a8_000000007bac9249_ps.txt @@ -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() +{ + +} diff --git a/Source/Splatoon/69b5b934d877bac0_0000000000000000_vs.txt b/Source/Splatoon/69b5b934d877bac0_0000000000000000_vs.txt new file mode 100644 index 00000000..42a2bded --- /dev/null +++ b/Source/Splatoon/69b5b934d877bac0_0000000000000000_vs.txt @@ -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() +{ + +} diff --git a/Source/Splatoon/71a7179980cfe114_000000000000007b_ps.txt b/Source/Splatoon/71a7179980cfe114_000000000000007b_ps.txt new file mode 100644 index 00000000..4a2d88d4 --- /dev/null +++ b/Source/Splatoon/71a7179980cfe114_000000000000007b_ps.txt @@ -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() +{ + +} diff --git a/Source/Splatoon/733ee69ec9dd5e30_0000000000001e69_ps.txt b/Source/Splatoon/733ee69ec9dd5e30_0000000000001e69_ps.txt new file mode 100644 index 00000000..2f5f73c7 --- /dev/null +++ b/Source/Splatoon/733ee69ec9dd5e30_0000000000001e69_ps.txt @@ -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() +{ + +} diff --git a/Source/Splatoon/89371aa2435ecc7c_0000000000000000_vs.txt b/Source/Splatoon/89371aa2435ecc7c_0000000000000000_vs.txt new file mode 100644 index 00000000..2f90425f --- /dev/null +++ b/Source/Splatoon/89371aa2435ecc7c_0000000000000000_vs.txt @@ -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() +{ + +} diff --git a/Source/Splatoon/acdc2cc298f22eed_0000000000000000_vs.txt b/Source/Splatoon/acdc2cc298f22eed_0000000000000000_vs.txt new file mode 100644 index 00000000..a8056965 --- /dev/null +++ b/Source/Splatoon/acdc2cc298f22eed_0000000000000000_vs.txt @@ -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() +{ + +} diff --git a/Source/Splatoon/b1951b6b76aa5c84_0000000000000000_vs.txt b/Source/Splatoon/b1951b6b76aa5c84_0000000000000000_vs.txt new file mode 100644 index 00000000..6e13bd6b --- /dev/null +++ b/Source/Splatoon/b1951b6b76aa5c84_0000000000000000_vs.txt @@ -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() +{ + +} diff --git a/Source/Splatoon/b997476498552b16_0000000000000079_ps.txt b/Source/Splatoon/b997476498552b16_0000000000000079_ps.txt new file mode 100644 index 00000000..6099df6e --- /dev/null +++ b/Source/Splatoon/b997476498552b16_0000000000000079_ps.txt @@ -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() +{ + +} diff --git a/Source/Splatoon/d61363e0854c74ad_00000000000003d9_ps.txt b/Source/Splatoon/d61363e0854c74ad_00000000000003d9_ps.txt new file mode 100644 index 00000000..c1f68182 --- /dev/null +++ b/Source/Splatoon/d61363e0854c74ad_00000000000003d9_ps.txt @@ -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() +{ + +} diff --git a/Source/Splatoon/d92fe9087a495dcb_0000000000000000_vs.txt b/Source/Splatoon/d92fe9087a495dcb_0000000000000000_vs.txt new file mode 100644 index 00000000..705a408c --- /dev/null +++ b/Source/Splatoon/d92fe9087a495dcb_0000000000000000_vs.txt @@ -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() +{ + +}