Recent logs - Error in shader program link: info: %s fs: %s %s vs: %s %s

To see your stuff show here, enable Compatibility Server Reports in PPSSPP.

Click on a version, game, or report message to show similar entries. Hover over version to see platform info, and hover over a game title to see region and version info.

Game title Version Latest Report Message
God of War®: Ghost of Sparta v1.6.3 2019-04-24 Error in shader program link: info: L0007 Fragment shader uses a varying v_fogdepth that has not been declared in the vertex shader. fs: 00000000:00a00822 Tex TexAlpha LM Fog 2x TFuncMod #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; in vec4 v_color0; in vec3 v_color1; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; v.rgb = v.rgb * 2.0; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 01730400:00000b1d HWX C T N LM Fog Tex Light: 0: c:0 t:0 1: c:0 t:0 2: c:0 t:1 MatUp:3 #version 300 es precision highp float; in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform vec3 u_lightpos1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec4 u_ambient; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; out lowp vec4 v_color0; out lowp vec3 v_color1; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * color0.rgb) * ldot; lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse); toLight = u_lightpos1; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse1 * color0.rgb) * ldot; lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse); toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * color0.rgb) * ldot; lightSum0.rgb += (u_lightambient2 * color0.rgb + diffuse) * lightScale; v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = vec3(0.0); v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; }
God of War®: Ghost of Sparta v1.6.3 2019-04-24 Error in shader program link: info: L0007 Fragment shader uses a varying v_texcoord that has not been declared in the vertex shader. L0007 Fragment shader uses a varying v_fogdepth that has not been declared in the vertex shader. L0007 Fragment shader uses a varying v_color1 that has not been declared in the vertex shader. fs: 00000000:00a1d822 Tex TexAlpha LM Fog 2x TFuncMod AlphaTest0 > #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; in vec4 v_color0; in vec3 v_color1; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; if (v.a < 0.002) discard; v.rgb = v.rgb * 2.0; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 01030000:00000b1d HWX C T N LM Fog Tex Light: MatUp:3 #version 300 es precision highp float; in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_ambient; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; out lowp vec4 v_color0; out lowp vec3 v_color1; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); mediump float ldot; v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = vec3(0.0); v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; }
God of War®: Ghost of Sparta v1.6.3 2019-04-24 Error in shader program link: info: L0007 Fragment shader uses a varying v_color1 that has not been declared in the vertex shader. fs: 00000000:00800822 Tex TexAlpha LM 2x TFuncMod #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; in vec4 v_color0; in vec3 v_color1; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; v.rgb = v.rgb * 2.0; fragColor0 = v; } vs: 01814000:00000b19 HWX C T N LM Tex Light: 3: c:0 t:1 MatUp:1 #version 300 es precision highp float; in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; out lowp vec4 v_color0; out lowp vec3 v_color1; out mediump vec3 v_texcoord; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; toLight = u_lightpos3 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt3, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse3 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient3 * color0.rgb + diffuse) * lightScale; v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = vec3(0.0); v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); }
God of War®: Ghost of Sparta v1.6.3 2019-04-24 Error in shader program link: info: L0007 Fragment shader uses a varying v_color1 that has not been declared in the vertex shader. fs: 00000000:00800802 Tex LM 2x TFuncMod #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; in vec4 v_color0; in vec3 v_color1; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a) + s; v.rgb = v.rgb * 2.0; fragColor0 = v; } vs: 01814000:00000b19 HWX C T N LM Tex Light: 3: c:0 t:1 MatUp:1 #version 300 es precision highp float; in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; out lowp vec4 v_color0; out lowp vec3 v_color1; out mediump vec3 v_texcoord; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; toLight = u_lightpos3 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt3, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse3 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient3 * color0.rgb + diffuse) * lightScale; v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = vec3(0.0); v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); }
God of War®: Ghost of Sparta v1.6.3 2019-04-24 Error in shader program link: info: L0007 Fragment shader uses a varying v_fogdepth that has not been declared in the vertex shader. fs: 00000000:01a0d822 Tex TexAlpha LM Fog 2x StenToAlpha StenUniform TFuncMod AlphaTest > #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; uniform float u_stencilReplaceValue; in vec4 v_color0; in vec3 v_color1; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; float aResult = texture(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; v.rgb = v.rgb * 2.0; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = vec4(v.rgb, u_stencilReplaceValue); } vs: 01130004:00000f1d HWX C T N LM Fog RevN Tex Light: 0: c:0 t:1 MatUp:3 #version 300 es precision highp float; in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform mediump vec3 u_lightatt0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec4 u_ambient; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; out lowp vec4 v_color0; out lowp vec3 v_color1; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(-normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse0 * color0.rgb) * ldot; lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse) * lightScale; v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = vec3(0.0); v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; }
God of War®: Ghost of Sparta v1.6.3 2019-04-24 Error in shader program link: info: L0007 Fragment shader uses a varying v_fogdepth that has not been declared in the vertex shader. L0007 Fragment shader uses a varying v_color1 that has not been declared in the vertex shader. fs: 00000000:01a0d822 Tex TexAlpha LM Fog 2x StenToAlpha StenUniform TFuncMod AlphaTest > #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; uniform float u_stencilReplaceValue; in vec4 v_color0; in vec3 v_color1; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; float aResult = texture(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; v.rgb = v.rgb * 2.0; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = vec4(v.rgb, u_stencilReplaceValue); } vs: 01330001:00000b1d HWX C T N LM Fog Tex Light: 0: c:1 t:0 1: c:0 t:0 MatUp:3 #version 300 es precision highp float; in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec4 u_ambient; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; out lowp vec4 v_color0; out lowp vec3 v_color1; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; mediump float ldot; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * color0.rgb) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse); toLight = u_lightpos1; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse1 * color0.rgb) * ldot; lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse); v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = clamp(lightSum1, 0.0, 1.0); v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; }
God of War®: Ghost of Sparta v1.6.3 2019-04-24 Error in shader program link: info: L0007 Fragment shader uses a varying v_color1 that has not been declared in the vertex shader. fs: 00000000:01a0d822 Tex TexAlpha LM Fog 2x StenToAlpha StenUniform TFuncMod AlphaTest > #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; uniform float u_stencilReplaceValue; in vec4 v_color0; in vec3 v_color1; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; float aResult = texture(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; v.rgb = v.rgb * 2.0; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = vec4(v.rgb, u_stencilReplaceValue); } vs: 01330001:00000f1d HWX C T N LM Fog RevN Tex Light: 0: c:1 t:0 1: c:0 t:0 MatUp:3 #version 300 es precision highp float; in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec4 u_ambient; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; out lowp vec4 v_color0; out lowp vec3 v_color1; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(-normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; mediump float ldot; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * color0.rgb) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse); toLight = u_lightpos1; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse1 * color0.rgb) * ldot; lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse); v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = clamp(lightSum1, 0.0, 1.0); v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; }
God of War®: Ghost of Sparta v1.6.3 2019-04-24 Error in shader program link: info: L0007 Fragment shader uses a varying v_fogdepth that has not been declared in the vertex shader. L0007 Fragment shader uses a varying v_color1 that has not been declared in the vertex shader. fs: 00000000:01a00802 Tex LM Fog 2x StenToAlpha StenUniform TFuncMod #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform float u_stencilReplaceValue; in vec4 v_color0; in vec3 v_color1; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a) + s; v.rgb = v.rgb * 2.0; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = vec4(v.rgb, u_stencilReplaceValue); } vs: 01330001:00000b1d HWX C T N LM Fog Tex Light: 0: c:1 t:0 1: c:0 t:0 MatUp:3 #version 300 es precision highp float; in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec4 u_ambient; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; out lowp vec4 v_color0; out lowp vec3 v_color1; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; mediump float ldot; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * color0.rgb) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse); toLight = u_lightpos1; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse1 * color0.rgb) * ldot; lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse); v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = clamp(lightSum1, 0.0, 1.0); v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; }
God of War®: Ghost of Sparta v1.6.3 2019-04-24 Error in shader program link: info: L0007 Fragment shader uses a varying v_fogdepth that has not been declared in the vertex shader. fs: 00000000:01a0d822 Tex TexAlpha LM Fog 2x StenToAlpha StenUniform TFuncMod AlphaTest > #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; uniform float u_stencilReplaceValue; in vec4 v_color0; in vec3 v_color1; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; float aResult = texture(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; v.rgb = v.rgb * 2.0; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = vec4(v.rgb, u_stencilReplaceValue); } vs: 01730400:00000f1d HWX C T N LM Fog RevN Tex Light: 0: c:0 t:0 1: c:0 t:0 2: c:0 t:1 MatUp:3 #version 300 es precision highp float; in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform vec3 u_lightpos1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec4 u_ambient; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; out lowp vec4 v_color0; out lowp vec3 v_color1; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(-normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * color0.rgb) * ldot; lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse); toLight = u_lightpos1; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse1 * color0.rgb) * ldot; lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse); toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * color0.rgb) * ldot; lightSum0.rgb += (u_lightambient2 * color0.rgb + diffuse) * lightScale; v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = vec3(0.0); v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; }
God of War®: Ghost of Sparta v1.6.3 2019-04-24 Error in shader program link: info: L0007 Fragment shader uses a varying v_fogdepth that has not been declared in the vertex shader. fs: 00000000:01a0d822 Tex TexAlpha LM Fog 2x StenToAlpha StenUniform TFuncMod AlphaTest > #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; uniform float u_stencilReplaceValue; in vec4 v_color0; in vec3 v_color1; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; float aResult = texture(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; v.rgb = v.rgb * 2.0; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = vec4(v.rgb, u_stencilReplaceValue); } vs: 01730400:00000b1d HWX C T N LM Fog Tex Light: 0: c:0 t:0 1: c:0 t:0 2: c:0 t:1 MatUp:3 #version 300 es precision highp float; in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform vec3 u_lightpos1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec4 u_ambient; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; out lowp vec4 v_color0; out lowp vec3 v_color1; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * color0.rgb) * ldot; lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse); toLight = u_lightpos1; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse1 * color0.rgb) * ldot; lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse); toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * color0.rgb) * ldot; lightSum0.rgb += (u_lightambient2 * color0.rgb + diffuse) * lightScale; v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = vec3(0.0); v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; }
God of War®: Ghost of Sparta v1.6.3 2019-04-24 Error in shader program link: info: L0007 Fragment shader uses a varying v_fogdepth that has not been declared in the vertex shader. fs: 00000000:01a00802 Tex LM Fog 2x StenToAlpha StenUniform TFuncMod #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform float u_stencilReplaceValue; in vec4 v_color0; in vec3 v_color1; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a) + s; v.rgb = v.rgb * 2.0; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = vec4(v.rgb, u_stencilReplaceValue); } vs: 01730400:00000b1d HWX C T N LM Fog Tex Light: 0: c:0 t:0 1: c:0 t:0 2: c:0 t:1 MatUp:3 #version 300 es precision highp float; in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform vec3 u_lightpos1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec4 u_ambient; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; out lowp vec4 v_color0; out lowp vec3 v_color1; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * color0.rgb) * ldot; lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse); toLight = u_lightpos1; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse1 * color0.rgb) * ldot; lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse); toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * color0.rgb) * ldot; lightSum0.rgb += (u_lightambient2 * color0.rgb + diffuse) * lightScale; v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = vec3(0.0); v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; }
God of War®: Ghost of Sparta v1.6.3 2019-04-24 Error in shader program link: info: L0007 Fragment shader uses a varying v_fogdepth that has not been declared in the vertex shader. fs: 00000000:00a00802 Tex LM Fog 2x TFuncMod #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; in vec4 v_color0; in vec3 v_color1; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a) + s; v.rgb = v.rgb * 2.0; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 01730400:00000b1d HWX C T N LM Fog Tex Light: 0: c:0 t:0 1: c:0 t:0 2: c:0 t:1 MatUp:3 #version 300 es precision highp float; in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform vec3 u_lightpos1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec4 u_ambient; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; out lowp vec4 v_color0; out lowp vec3 v_color1; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * color0.rgb) * ldot; lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse); toLight = u_lightpos1; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse1 * color0.rgb) * ldot; lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse); toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * color0.rgb) * ldot; lightSum0.rgb += (u_lightambient2 * color0.rgb + diffuse) * lightScale; v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = vec3(0.0); v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; }
God of War®: Ghost of Sparta v1.6.3 2019-04-24 Error in shader program link: info: L0007 Fragment shader uses a varying v_texcoord that has not been declared in the vertex shader. L0007 Fragment shader uses a varying v_fogdepth that has not been declared in the vertex shader. L0007 Fragment shader uses a varying v_color1 that has not been declared in the vertex shader. fs: 00000000:00a00802 Tex LM Fog 2x TFuncMod #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; in vec4 v_color0; in vec3 v_color1; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a) + s; v.rgb = v.rgb * 2.0; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 01030000:00000b1d HWX C T N LM Fog Tex Light: MatUp:3 #version 300 es precision highp float; in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_ambient; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; out lowp vec4 v_color0; out lowp vec3 v_color1; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); mediump float ldot; v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = vec3(0.0); v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; }
God of War®: Ghost of Sparta v1.6.3 2019-04-24 Error in shader program link: info: L0007 Fragment shader uses a varying v_texcoord that has not been declared in the vertex shader. L0007 Fragment shader uses a varying v_fogdepth that has not been declared in the vertex shader. L0007 Fragment shader uses a varying v_color1 that has not been declared in the vertex shader. fs: 00000000:01a0d822 Tex TexAlpha LM Fog 2x StenToAlpha StenUniform TFuncMod AlphaTest > #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; uniform float u_stencilReplaceValue; in vec4 v_color0; in vec3 v_color1; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; float aResult = texture(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; v.rgb = v.rgb * 2.0; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = vec4(v.rgb, u_stencilReplaceValue); } vs: 01030000:00000b1d HWX C T N LM Fog Tex Light: MatUp:3 #version 300 es precision highp float; in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_ambient; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; out lowp vec4 v_color0; out lowp vec3 v_color1; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); mediump float ldot; v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = vec3(0.0); v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; }
God of War®: Ghost of Sparta v1.6.3 2019-04-24 Error in shader program link: info: L0007 Fragment shader uses a varying v_texcoord that has not been declared in the vertex shader. L0007 Fragment shader uses a varying v_fogdepth that has not been declared in the vertex shader. L0007 Fragment shader uses a varying v_color1 that has not been declared in the vertex shader. fs: 00000000:01a00802 Tex LM Fog 2x StenToAlpha StenUniform TFuncMod #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform float u_stencilReplaceValue; in vec4 v_color0; in vec3 v_color1; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a) + s; v.rgb = v.rgb * 2.0; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = vec4(v.rgb, u_stencilReplaceValue); } vs: 01030000:00000b1d HWX C T N LM Fog Tex Light: MatUp:3 #version 300 es precision highp float; in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_ambient; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; out lowp vec4 v_color0; out lowp vec3 v_color1; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); mediump float ldot; v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = vec3(0.0); v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; }
God of War®: Ghost of Sparta v1.6.3 2019-04-24 Error in shader program link: info: L0007 Fragment shader uses a varying v_color1 that has not been declared in the vertex shader. fs: 00000000:01800802 Tex LM 2x StenToAlpha StenUniform TFuncMod #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform float u_stencilReplaceValue; in vec4 v_color0; in vec3 v_color1; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a) + s; v.rgb = v.rgb * 2.0; fragColor0 = vec4(v.rgb, u_stencilReplaceValue); } vs: 01814000:00000b19 HWX C T N LM Tex Light: 3: c:0 t:1 MatUp:1 #version 300 es precision highp float; in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; out lowp vec4 v_color0; out lowp vec3 v_color1; out mediump vec3 v_texcoord; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; toLight = u_lightpos3 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt3, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse3 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient3 * color0.rgb + diffuse) * lightScale; v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = vec3(0.0); v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); }
God of War®: Ghost of Sparta v1.6.3 2019-04-24 Error in shader program link: info: L0007 Fragment shader uses a varying v_texcoord that has not been declared in the vertex shader. L0007 Fragment shader uses a varying v_fogdepth that has not been declared in the vertex shader. L0007 Fragment shader uses a varying v_color1 that has not been declared in the vertex shader. fs: 00000000:00a00822 Tex TexAlpha LM Fog 2x TFuncMod #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; in vec4 v_color0; in vec3 v_color1; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; v.rgb = v.rgb * 2.0; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 01030000:00000b1d HWX C T N LM Fog Tex Light: MatUp:3 #version 300 es precision highp float; in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_ambient; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; out lowp vec4 v_color0; out lowp vec3 v_color1; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); mediump float ldot; v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = vec3(0.0); v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; }
MONSTER HUNTER PORTABLE 3rd v1.7.4 2019-04-24 Error in shader program link: info: Attached vertex shader is not compiled. fs: 00000000:00000002 Tex TFuncMod #version 330 #define lowp #define mediump #define highp uniform sampler2D tex; in vec4 v_color0; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a); fragColor0 = v; } vs: 00000000:0000001a THR C Tex #version 330 #define lowp #define mediump #define highp in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
MONSTER HUNTER PORTABLE 3rd v1.7.4 2019-04-24 Error in shader program link: info: Attached vertex shader is not compiled. fs: 00000000:00000022 Tex TexAlpha TFuncMod #version 330 #define lowp #define mediump #define highp uniform sampler2D tex; in vec4 v_color0; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; fragColor0 = v; } vs: 00000000:0000001a THR C Tex #version 330 #define lowp #define mediump #define highp in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
MONSTER HUNTER PORTABLE 3rd v1.7.4 2019-04-24 Error in shader program link: info: Attached vertex shader is not compiled. fs: 00000000:0000f022 Tex TexAlpha TFuncMod AlphaTest >= #version 330 #define lowp #define mediump #define highp uniform sampler2D tex; uniform sampler2D testtex; in vec4 v_color0; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; float aResult = texture(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; fragColor0 = v; } vs: 00000000:0000001a THR C Tex #version 330 #define lowp #define mediump #define highp in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
WWE SmackDown! vs. RAW 2006. v1.6.3-492-g9fddfff66 2019-04-23 Error in shader program link: info: (unknown reason) fs: 00000000:00000002 Tex TFuncMod #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; in vec4 v_color0; in mediump vec3 v_texcoord; inout vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a); fragColor0 = v; } vs: 00000000:0000001a THR C Tex #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
Bakugan™: Defenders of the Core v1.6.3-432-gfd6c3145d 2019-04-23 Error in shader program link: info: (unknown reason) fs: 00000000:0020d802 Tex LM Fog TFuncMod AlphaTest > #version 300 es precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; in vec4 v_color0; in vec3 v_color1; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a) + s; float aResult = texture(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 01320001:00000b15 HWX T N LM Fog Tex Light: 0: c:1 t:0 1: c:0 t:0 MatUp:2 #version 300 es precision highp float; in vec3 position; in mediump vec3 normal; in vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; out lowp vec4 v_color0; out lowp vec3 v_color1; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; mediump float ldot; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse); v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = clamp(lightSum1, 0.0, 1.0); v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; }
Bakugan™: Defenders of the Core v1.6.3-432-gfd6c3145d 2019-04-23 Error in shader program link: info: (unknown reason) fs: 00000000:0001d022 Tex TexAlpha TFuncMod AlphaTest0 > #version 300 es precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; in vec4 v_color0; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; if (v.a < 0.002) discard; fragColor0 = v; } vs: 00000000:00000b18 HWX C T N Tex #version 300 es precision highp float; in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; v_color0 = color0; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); }
PES 2014 v1.8.0 2019-04-23 Error in shader program link: info: (unknown reason) fs: postshader /* AA shader 4.o / AA shader 4.o - filtro Copyright (C) 2014 guest(r) - [email protected] This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Modified as video aware smoothing effect for PPSSPP. // Some variable definitions had to be moved inside functions(and so repeated) due to glsl->hlsl auto translation failing. // Also auto translation fails with bool uniform, which is why u_video is defined as float. #ifdef GL_ES precision mediump float; precision mediump int; #endif uniform sampler2D sampler0; uniform float u_video; //=========== varying vec2 v_texcoord0; const vec3 dt = vec3(1.0,1.0,1.0); vec3 texture2d (vec2 texcoord) { float scale = 1.0; if (u_video==1.0){ scale = 2.0; } else { scale = 7.0; } vec4 yx = vec4(1.0/480.0,1.0/272.0,-1.0/480.0,-1.0/272.0)/scale; vec4 xy = vec4(2.0/480.0,2.0/272.0,-2.0/480.0,-2.0/272.0)/scale; vec3 s00 = texture2D(sampler0, texcoord + yx.zw).xyz; vec3 s20 = texture2D(sampler0, texcoord + yx.xw).xyz; vec3 s22 = texture2D(sampler0, texcoord + yx.xy).xyz; vec3 s02 = texture2D(sampler0, texcoord + yx.zy).xyz; float m1=dot(abs(s00-s22),dt)+0.001; float m2=dot(abs(s02-s20),dt)+0.001; return 0.5*(m2*(s00+s22)+m1*(s02+s20))/(m1+m2); } vec3 texture2dd (vec2 texcoord) { float scale = 1.0; if (u_video==1.0){ scale = 2.0; } else { scale = 7.0; } vec4 yx = vec4(1.0/480.0,1.0/272.0,-1.0/480.0,-1.0/272.0)/scale; vec4 xy = vec4(2.0/480.0,2.0/272.0,-2.0/480.0,-2.0/272.0)/scale; vec3 c11 = texture2D(sampler0, texcoord ).xyz; vec3 c00 = texture2D(sampler0, texcoord + xy.zw).xyz; vec3 c20 = texture2D(sampler0, texcoord + xy.xw).xyz; vec3 c22 = texture2D(sampler0, texcoord + xy.xy).xyz; vec3 c02 = texture2D(sampler0, texcoord + xy.zy).xyz; vec3 s00 = texture2D(sampler0, texcoord + yx.zw).xyz; vec3 s20 = texture2D(sampler0, texcoord + yx.xw).xyz; vec3 s22 = texture2D(sampler0, texcoord + yx.xy).xyz; vec3 s02 = texture2D(sampler0, texcoord + yx.zy).xyz; float d1=dot(abs(c00-c22),dt)+0.001; float d2=dot(abs(c20-c02),dt)+0.001; float m1=dot(abs(s00-s22),dt)+0.001; float m2=dot(abs(s02-s20),dt)+0.001; vec3 t2=(d1*(c20+c02)+d2*(c00+c22))/(2.0*(d1+d2)); return 0.25*(c11+t2+(m2*(s00+s22)+m1*(s02+s20))/(m1+m2)); } void main() { float scale = 7.0; bool filtro = false; if (u_video==1.0){ scale = 2.0; filtro = true; } else { scale = 7.0; filtro = false; } // Calculating texel coordinates vec2 size = vec2(480.0,272.0)*scale; vec2 inv_size = vec2(1.0/480.0,1.0/272.0)/scale; vec2 OGL2Pos = v_texcoord0 * size; vec2 fp = fract(OGL2Pos); vec2 dx = vec2(inv_size.x,0.0); vec2 dy = vec2(0.0, inv_size.y); vec2 g1 = vec2(inv_size.x,inv_size.y); vec2 g2 = vec2(-inv_size.x,inv_size.y); vec2 pC4 = floor(OGL2Pos) * inv_size + 0.5*inv_size; // Reading the texels vec3 C0 = texture2d(pC4 - g1); vec3 C1 = texture2d(pC4 - dy); vec3 C2 = texture2d(pC4 - g2); vec3 C3 = texture2d(pC4 - dx); vec3 C4 = texture2d(pC4 ); vec3 C5 = texture2d(pC4 + dx); vec3 C6 = texture2d(pC4 + g2); vec3 C7 = texture2d(pC4 + dy); vec3 C8 = texture2d(pC4 + g1); vec3 ul, ur, dl, dr; float m1, m2; m1 = dot(abs(C0-C4),dt)+0.001; m2 = dot(abs(C1-C3),dt)+0.001; ul = (m2
仮面ライダー 超クライマックスヒーローズ v1.6.3-492-g9fddfff66 2019-04-23 Error in shader program link: info: (unknown reason) fs: 00000000:00000000 #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; in vec4 v_color0; inout vec4 fragColor0; void main() { vec4 v = v_color0 ; fragColor0 = v; } vs: 00000000:0000000a THR C #version 300 es precision highp float; in vec4 position; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; void main() { v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
METAL GEAR SOLID PORTABLE OPS + v1.7.1 2019-04-22 Error in shader program link: info: Vertex and Fragment shader(s) were not successfully compiled before glLinkProgram() was called. Link failed. fs: depal (failed) #version 110 varying vec2 v_texcoord0; uniform sampler2D tex; uniform sampler2D pal; void main() { vec4 index = texture2D(tex, v_texcoord0); float coord = (index.b * 0.060547) + 0.000977; gl_FragColor = texture2D(pal, vec2(coord, 0.0)); } vs: depal (failed) #ifdef GL_ES precision highp float; #endif attribute vec4 a_position; attribute vec2 a_texcoord0; varying vec2 v_texcoord0; void main() { v_texcoord0 = a_texcoord0; gl_Position = a_position; }
METAL GEAR SOLID PORTABLE OPS + v1.7.1 2019-04-22 Error in shader program link: info: Vertex and Fragment shader(s) were not successfully compiled before glLinkProgram() was called. Link failed. fs: depal (failed) #version 110 varying vec2 v_texcoord0; uniform sampler2D tex; uniform sampler2D pal; void main() { vec4 index = texture2D(tex, v_texcoord0); float coord = (index.r * 0.060547) + 0.000977; gl_FragColor = texture2D(pal, vec2(coord, 0.0)); } vs: depal (failed) #ifdef GL_ES precision highp float; #endif attribute vec4 a_position; attribute vec2 a_texcoord0; varying vec2 v_texcoord0; void main() { v_texcoord0 = a_texcoord0; gl_Position = a_position; }
METAL GEAR SOLID PORTABLE OPS + v1.7.1 2019-04-22 Error in shader program link: info: Vertex and Fragment shader(s) were not successfully compiled before glLinkProgram() was called. Link failed. fs: depal (failed) #version 110 varying vec2 v_texcoord0; uniform sampler2D tex; uniform sampler2D pal; void main() { vec4 index = texture2D(tex, v_texcoord0); float coord = (index.g * 0.060547) + 0.000977; gl_FragColor = texture2D(pal, vec2(coord, 0.0)); } vs: depal (failed) #ifdef GL_ES precision highp float; #endif attribute vec4 a_position; attribute vec2 a_texcoord0; varying vec2 v_texcoord0; void main() { v_texcoord0 = a_texcoord0; gl_Position = a_position; }
Dragon Ball Z: Tenkaichi Tag Team v1.6.3-492-g9fddfff66 2019-04-22 Error in shader program link: info: (unknown reason) fs: 00001d83:00000002 Tex ReplaceBlend_3A:6_B:7_Eq:0 TFuncMod #version 300 es precision lowp float; uniform sampler2D tex; in vec4 v_color0; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a); v.rgb = v.rgb * vec3(v.a * 2.0); v.a = v.a * 2.0; fragColor0 = v; } vs: 00000000:0000001a THR C Tex #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
いつかこの手が穢れるときに -SPECTRAL FORCE LEGACY- v1.6.3-492-g9fddfff66 2019-04-21 Error in shader program link: info: (unknown reason) fs: 00000000:0001d022 Tex TexAlpha TFuncMod AlphaTest0 > (failed) #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; in vec4 v_color0; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; if (v.a < 0.002) discard; fragColor0 = v; } vs: 00000000:0000001a THR C Tex #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
(homebrew) v1.7.5 2019-04-21 Error in shader program link: info: No vertex shader attached. fs: (failed) vs:
(homebrew) v1.7.5 2019-04-21 Error in shader program link: info: No vertex shader attached. fs: vs:
The Sims™ 2 v1.7.4 2019-04-21 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:00800002 Tex 2x TFuncMod #version 100 precision lowp float; uniform sampler2D tex; varying vec4 v_color0; varying mediump vec3 v_texcoord; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a); v.rgb = clamp(v.rgb * 2.0, 0.0, 1.0); gl_FragColor = v; } vs: 01f14444:00000310 HWX N Tex Light: 0: c:0 t:1 1: c:0 t:1 2: c:0 t:1 3: c:0 t:1 MatUp:1 (failed) #version 100 precision highp float; attribute vec3 position; attribute mediump vec3 normal; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform mediump vec3 u_lightatt0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying mediump vec3 v_texcoord; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos3 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt3, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse3 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient3 * u_matambientalpha.rgb + diffuse) * lightScale; v_color0 = clamp(lightSum0, 0.0, 1.0); v_texcoord = vec3(0.0); vec3 projPos = outPos.xyz / outPos.w; if (u_cullRangeMin.w <= 0.0 || (projPos.z >= u_cullRangeMin.z && projPos.z <= u_cullRangeMax.z)) { if (projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y || projPos.z < u_cullRangeMin.z || projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y || projPos.z > u_cullRangeMax.z) { outPos.w = u_cullRangeMax.w; } } gl_Position = outPos; }
Yu-Gi-Oh! GX Tag Force v1.6.3-492-g9fddfff66 2019-04-20 Error in shader program link: info: (unknown reason) fs: 00004000:00000002 Tex Flat TFuncMod #version 300 es precision lowp float; uniform sampler2D tex; flat in vec4 v_color0; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a); fragColor0 = v; } vs: 40000000:00000012 THR Tex Flat #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; flat out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
The Sims™ 2 v1.7.4 2019-04-20 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:00a0d022 Tex TexAlpha Fog 2x TFuncMod AlphaTest > #version 100 precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; varying vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; v.rgb = clamp(v.rgb * 2.0, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; gl_FragColor = v; } vs: 01f14444:00000b14 HWX T N Fog Tex Light: 0: c:0 t:1 1: c:0 t:1 2: c:0 t:1 3: c:0 t:1 MatUp:1 (failed) #version 100 precision highp float; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform mediump vec3 u_lightatt0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos3 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt3, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse3 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient3 * u_matambientalpha.rgb + diffuse) * lightScale; v_color0 = clamp(lightSum0, 0.0, 1.0); v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; vec3 projPos = outPos.xyz / outPos.w; if (u_cullRangeMin.w <= 0.0 || (projPos.z >= u_cullRangeMin.z && projPos.z <= u_cullRangeMax
The Sims™ 2 v1.7.4 2019-04-20 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00010000:00a0d022 Tex TexAlpha Fog 2x TFuncMod AlphaTest > #version 100 precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; varying vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; v.rgb = clamp(v.rgb * 2.0, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) v.a = 0.0; gl_FragColor = v; } vs: 01f14444:00000b14 HWX T N Fog Tex Light: 0: c:0 t:1 1: c:0 t:1 2: c:0 t:1 3: c:0 t:1 MatUp:1 (failed) #version 100 precision highp float; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform mediump vec3 u_lightatt0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos3 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt3, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse3 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient3 * u_matambientalpha.rgb + diffuse) * lightScale; v_color0 = clamp(lightSum0, 0.0, 1.0); v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; vec3 projPos = outPos.xyz / outPos.w; if (u_cullRangeMin.w <= 0.0 || (projPos.z >= u_cullRangeMin.z && projPos.z <= u_cullRangeM
Bakugan™: Defenders of the Core v1.6.3-432-gfd6c3145d 2019-04-18 Error in shader program link: info: (unknown reason) fs: 00000000:0001d002 Tex TFuncMod AlphaTest0 > #version 300 es precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; in vec4 v_color0; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a); if (v.a < 0.002) discard; fragColor0 = v; } vs: 00000000:00000910 HWX T Tex #version 300 es precision highp float; in vec3 position; in vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; v_color0 = u_matambientalpha; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); }
Crash® of the Titans v1.7.5 2019-04-18 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:00200802 Tex LM Fog TFuncMod #version 100 precision lowp float; uniform sampler2D tex; varying vec4 v_color0; varying vec3 v_color1; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a) + s; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); gl_FragColor = v; } vs: 01f04444:00000b15 HWX T N LM Fog Tex Light: 0: c:0 t:1 1: c:0 t:1 2: c:0 t:1 3: c:0 t:1 (failed) #version 100 precision highp float; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform mediump vec3 u_lightatt0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos3 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt3, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse3 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient3 * u_matambientalpha.rgb + diffuse) * lightScale; v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = vec3(0.0); v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; vec3 projPos = outPos.xyz / outPos.w; if (u_cullRangeMin.w <= 0.0 || (projPos.z >= u_cullRangeMin.z && projPos.z <= u_cullRangeMax.z)) { if (projPos.x < u_cullRangeMin.x || projPos.y < u_cullRan
FINAL FANTASY IV Complete Collection v1.6.3-492-g9fddfff66 2019-04-17 Error in shader program link: info: (unknown reason) fs: 00000000:00000022 Tex TexAlpha TFuncMod #version 300 es precision lowp float; uniform sampler2D tex; in vec4 v_color0; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; fragColor0 = v; } vs: 00000000:0000001a THR C Tex (failed) #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
ドラゴンボール タッグバーサス v1.6.3-492-g9fddfff66 2019-04-16 Error in shader program link: info: (unknown reason) fs: 00001d83:00000000 ReplaceBlend_3A:6_B:7_Eq:0 #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; in vec4 v_color0; inout vec4 fragColor0; void main() { vec4 v = v_color0 ; v.rgb = v.rgb * vec3(v.a * 2.0); v.a = v.a * 2.0; fragColor0 = v; } vs: 00000000:0000000a THR C #version 300 es precision highp float; in vec4 position; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; void main() { v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
Obscure: The Aftermath v1.6.3-492-g9fddfff66 2019-04-16 Error in shader program link: info: (unknown reason) fs: 00000000:00000022 Tex TexAlpha TFuncMod (failed) #version 300 es precision lowp float; uniform sampler2D tex; in vec4 v_color0; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; fragColor0 = v; } vs: 00000000:00000012 THR Tex #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
Tales of Destiny2 v1.6.3-492-g9fddfff66 2019-04-15 Error in shader program link: info: (unknown reason) fs: 00000000:0001d000 AlphaTest0 > #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D testtex; in vec4 v_color0; inout vec4 fragColor0; void main() { vec4 v = v_color0 ; if (v.a < 0.002) discard; fragColor0 = v; } vs: 00000000:0000000a THR C #version 300 es precision highp float; in vec4 position; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; void main() { v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
Tales of Destiny2 v1.6.3-492-g9fddfff66 2019-04-15 Error in shader program link: info: (unknown reason) fs: 00000000:00000000 #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; in vec4 v_color0; inout vec4 fragColor0; void main() { vec4 v = v_color0 ; fragColor0 = v; } vs: 00000000:0000000a THR C #version 300 es precision highp float; in vec4 position; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; void main() { v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
Tom Clancy's Splinter Cell® Essentials v1.7.5 2019-04-15 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:00a00002 Tex Fog 2x TFuncMod #version 100 precision lowp float; uniform sampler2D tex; varying vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a); v.rgb = clamp(v.rgb * 2.0, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); gl_FragColor = v; } vs: 01f14884:00000b1c HWX C T N Fog Tex Light: 0: c:0 t:1 1: c:0 t:2 2: c:0 t:2 3: c:0 t:1 MatUp:1 (failed) #version 100 precision highp float; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; attribute lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform mediump vec3 u_lightatt0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform mediump vec3 u_lightdir1; uniform mediump vec2 u_lightangle_spotCoef1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform mediump vec3 u_lightdir2; uniform mediump vec2 u_lightangle_spotCoef2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef1.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef2.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient2 * color0.rgb + diffuse) * lightScale; toLight = u_lightpos3 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt3, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse3 * u_matdiffuse) * ldot; lightSu
DISSIDIA duodecim FINAL FANTASY v1.6.3-492-g9fddfff66 2019-04-15 Error in shader program link: info: (unknown reason) fs: 00000000:00800022 Tex TexAlpha 2x TFuncMod #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; in vec4 v_color0; in mediump vec3 v_texcoord; inout vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; v.rgb = clamp(v.rgb * 2.0, 0.0, 1.0); fragColor0 = v; } vs: 00080000:00007b18 HWX C T N Tex Spline TessC TessT TessRevN #version 300 es precision highp float; in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; uniform sampler2D u_tess_pos_tex; uniform sampler2D u_tess_tex_tex; uniform sampler2D u_tess_col_tex; uniform int u_spline_count_u; vec2 tess_sample(in vec2 points[16], in vec2 weights[4]) { vec2 pos = vec2(0.0); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { float f = weights[j].x * weights[i].y; if (f != 0.0) pos = pos + f * points[i * 4 + j]; } } return pos; } vec3 tess_sample(in vec3 points[16], in vec2 weights[4]) { vec3 pos = vec3(0.0); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { float f = weights[j].x * weights[i].y; if (f != 0.0) pos = pos + f * points[i * 4 + j]; } } return pos; } vec4 tess_sample(in vec4 points[16], in vec2 weights[4]) { vec4 pos = vec4(0.0); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { float f = weights[j].x * weights[i].y; if (f != 0.0) pos = pos + f * points[i * 4 + j]; } } return pos; } uniform int u_spline_count_v; uniform int u_spline_type_u; uniform int u_spline_type_v; void spline_knot(ivec2 num_patches, ivec2 type, out vec2 knot[6], ivec2 patch_pos) { for (int i = 0; i < 6; ++i) { knot[i] = vec2(float(i + patch_pos.x - 2), float(i + patch_pos.y - 2)); } if ((type.x & 1) != 0) { if (patch_pos.x <= 2) knot[0].x = 0.0; if (patch_pos.x <= 1) knot[1].x = 0.0; } if ((type.x & 2) != 0) { if (patch_pos.x >= (num_patches.x - 2)) knot[5].x = float(num_patches.x); if (patch_pos.x == (num_patches.x - 1)) knot[4].x = float(num_patches.x); } if ((type.y & 1) != 0) { if (patch_pos.y <= 2) knot[0].y = 0.0; if (patch_pos.y <= 1) knot[1].y = 0.0; } if ((type.y & 2) != 0) { if (patch_pos.y >= (num_patches.y - 2)) knot[5].y = float(num_patches.y); if (patch_pos.y == (num_patches.y - 1)) knot[4].y = float(num_patches.y); } } void spline_weight(vec2 t, in vec2 knot[6], out vec2 weights[4]) { vec2 t0 = (t - knot[0]); vec2 t1 = (t - knot[1]); vec2 t2 = (t - knot[2]); vec2 f30 = t0 / (knot[3] - knot[0]); vec2 f41 = t1 / (knot[4] - knot[1]); vec2 f52 = t2 / (knot[5] - knot[2]); vec2 f31 = t1 / (knot[3] - knot[1]); vec2 f42 = t2 / (knot[4] - knot[2]); vec2 f32 = t2 / (knot[3] - knot[2]); vec2 a = (1.0 - f30)*(1.0 - f31); vec2 b = (f31*f41); vec2 c = (1.0 - f41)*(1.0 - f42); vec2 d = (f42*f52); weights[0] = a - (a*f32); weights[1] = vec2(1.0) - a - b + ((a + b + c - vec2(1.0))*f32); weights[2] = b + ((vec2(1.0) - b - c - d)*f32); weights[3] = d*f32; } void main() { vec3 _pos[16]; vec2 _tex[16]; vec4 _col[16]; int num_patches_u = u_spline_count_u - 3; int u = int(mod(float(gl_InstanceID), float(num_patches_u))); int v = gl_InstanceID / num_patches_u; ivec2 patch_pos = ivec2(u, v); for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { int index = (i + v) * u_spline_count_u + (j + u); _pos[i * 4 + j] = texelFetch(u_tess_pos_tex, ivec2(index, 0), 0).xyz; _tex[i * 4 + j] = texelFetch(u_tess_tex_tex, ivec2(index, 0), 0).xy; _col[i * 4 + j] = texelFetch(u_tess_col_tex, ivec2(index, 0), 0).rgba; } } vec2 tess_pos = pos
ウルトラマン Fighting Evolution 0 v1.6.3-312-g31646d6c8 2019-04-15 Error in shader program link: info: (unknown reason) fs: 00001d83:00017000 ReplaceBlend_3A:6_B:7_Eq:0 AlphaTest0 != #version 300 es precision lowp float; uniform sampler2D testtex; in vec4 v_color0; out vec4 fragColor0; void main() { vec4 v = v_color0 ; if (v.a < 0.002) discard; v.rgb = v.rgb * vec3(v.a * 2.0); v.a = v.a * 2.0; fragColor0 = v; } vs: 00000000:00000008 C #version 300 es precision highp float; in vec4 position; in lowp vec4 color0; uniform mat4 u_proj; out lowp vec4 v_color0; void main() { v_color0 = color0; gl_Position = u_proj * vec4(position.xyz, 1.0); }
ウルトラマン Fighting Evolution 0 v1.6.3-312-g31646d6c8 2019-04-15 Error in shader program link: info: (unknown reason) fs: 00001d83:00000000 ReplaceBlend_3A:6_B:7_Eq:0 #version 300 es precision lowp float; in vec4 v_color0; out vec4 fragColor0; void main() { vec4 v = v_color0 ; v.rgb = v.rgb * vec3(v.a * 2.0); v.a = v.a * 2.0; fragColor0 = v; } vs: 00000000:00000008 C #version 300 es precision highp float; in vec4 position; in lowp vec4 color0; uniform mat4 u_proj; out lowp vec4 v_color0; void main() { v_color0 = color0; gl_Position = u_proj * vec4(position.xyz, 1.0); }
ウルトラマン Fighting Evolution 0 v1.6.3-312-g31646d6c8 2019-04-15 Error in shader program link: info: (unknown reason) fs: 00000000:00017000 AlphaTest0 != #version 300 es precision lowp float; uniform sampler2D testtex; in vec4 v_color0; out vec4 fragColor0; void main() { vec4 v = v_color0 ; if (v.a < 0.002) discard; fragColor0 = v; } vs: 00000000:00000008 C #version 300 es precision highp float; in vec4 position; in lowp vec4 color0; uniform mat4 u_proj; out lowp vec4 v_color0; void main() { v_color0 = color0; gl_Position = u_proj * vec4(position.xyz, 1.0); }
Dragon Ball Z: Tenkaichi Tag Team v1.6.3-492-g9fddfff66 2019-04-15 Error in shader program link: info: (unknown reason) fs: 00000000:00000040 Depal #version 300 es precision lowp float; precision highp int; uniform sampler2D pal; uniform int u_depal; in vec4 v_color0; out vec4 fragColor0; void main() { vec4 v = v_color0 ; fragColor0 = v; } vs: 00000000:0000000a THR C #version 300 es precision highp float; in vec4 position; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; void main() { v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
スーパーロボット大戦A PORTABLE v1.6.3-492-g9fddfff66 2019-04-15 Error in shader program link: info: (unknown reason) fs: 00000000:0001d022 Tex TexAlpha TFuncMod AlphaTest0 > #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; in vec4 v_color0; in mediump vec3 v_texcoord; inout vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; if (v.a < 0.002) discard; fragColor0 = v; } vs: 00000000:0000001a THR C Tex #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
NBA2K13 v1.8.0-96-gb5db387bf 2019-04-14 Error in shader program link: info: Vertex info ----------- (0) : fatal error C9999: Can't convert to expr: 1f + @TMP0, 1f + @TMP1 fs: 00000000:00000002 Tex TFuncMod #version 330 #define lowp #define mediump #define highp uniform sampler2D tex; in vec4 v_color0; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a); fragColor0 = v; } vs: 05310000:40d20b10 HWX T N Tex UVEnv Bones:4 Light: 0: c:0 t:0 1: c:0 t:0 MatUp:1 WScale 2 #version 330 #define lowp #define mediump #define highp in mediump vec4 w1; in vec3 position; in mediump vec3 normal; in vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform mat4 u_bone0; uniform mat4 u_bone1; uniform mat4 u_bone2; uniform mat4 u_bone3; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform vec3 u_lightpos1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; vec4 depthRoundZVP(vec4 v) { float z = v.z / v.w; z = z * u_depthRange.x + u_depthRange.y; z = floor(z); z = (z - u_depthRange.z) * u_depthRange.w; return vec4(v.x, v.y, z * v.w, v.w); } void main() { mat4 skinMatrix = w1.x * u_bone0 + w1.y * u_bone1 + w1.z * u_bone2 + w1.w * u_bone3; vec3 skinnedpos = (skinMatrix * vec4(position, 1.0)).xyz * 1.999969482421875; vec3 worldpos = (u_world * vec4(skinnedpos, 1.0)).xyz; mediump vec3 skinnednormal = (skinMatrix * vec4(normal, 0.0)).xyz * 1.999969482421875; mediump vec3 worldnormal = normalize((u_world * vec4(skinnednormal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = depthRoundZVP(u_proj * viewPos); lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); vec3 toLight; lowp vec3 diffuse; mediump float ldot; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse); v_color0 = clamp(lightSum0, 0.0, 1.0); v_texcoord = vec3(u_uvscaleoffset.xy * vec2(1.0 + (length(u_lightpos0) == 0.0 ? worldnormal.z : dot(normalize(u_lightpos0), worldnormal)), 1.0 + (length(u_lightpos1) == 0.0 ? worldnormal.z : dot(normalize(u_lightpos1), worldnormal))) * 0.5, 1.0); vec3 projPos = outPos.xyz / outPos.w; if (u_cullRangeMin.w <= 0.0 || (projPos.z >= u_cullRangeMin.z && projPos.z <= u_cullRangeMax.z)) { if (projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y || projPos.z < u_cullRangeMin.z || projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y || projPos.z > u_cullRangeMax.z) { outPos.w = u_cullRangeMax.w; } } gl_Position = outPos; }
ドラゴンボール タッグバーサス v1.6.3-492-g9fddfff66 2019-04-16 Error in shader program link: info: (unknown reason) fs: 00000000:00000002 Tex TFuncMod #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; in vec4 v_color0; in mediump vec3 v_texcoord; inout vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a); fragColor0 = v; } vs: 00000000:0000001a THR C Tex #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
Grand Theft Auto: Vice City Stories v1.6.3-492-g9fddfff66 2019-04-14 Error in shader program link: info: (unknown reason) fs: 00000000:000000a2 Tex TexAlpha TClamp TFuncMod #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform vec4 u_texclamp; in vec4 v_color0; in mediump vec3 v_texcoord; inout vec4 fragColor0; void main() { vec2 fixedcoord = vec2(mod(v_texcoord.x, u_texclamp.x), mod(v_texcoord.y, u_texclamp.y)); vec4 t = texture(tex, fixedcoord.xy); vec4 p = v_color0; vec4 v = p * t; fragColor0 = v; } vs: 00000000:00000012 THR Tex #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
イースvs.空の軌跡 オルタナティブ・サーガ v1.6.3-492-g9fddfff66 2019-04-13 Error in shader program link: info: (unknown reason) fs: 00010000:0000d002 Tex TFuncMod AlphaTest > #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; in vec4 v_color0; in mediump vec3 v_texcoord; inout vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a); float aResult = texture(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) v.a = 0.0; fragColor0 = v; } vs: 00000000:0000001a THR C Tex #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
イースvs.空の軌跡 オルタナティブ・サーガ v1.6.3-492-g9fddfff66 2019-04-13 Error in shader program link: info: (unknown reason) fs: 00000000:0000d002 Tex TFuncMod AlphaTest > #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; in vec4 v_color0; in mediump vec3 v_texcoord; inout vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a); float aResult = texture(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; fragColor0 = v; } vs: 00000000:0000001a THR C Tex #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
イースvs.空の軌跡 オルタナティブ・サーガ v1.6.3-492-g9fddfff66 2019-04-13 Error in shader program link: info: (unknown reason) fs: 00000000:0000d022 Tex TexAlpha TFuncMod AlphaTest > #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; in vec4 v_color0; in mediump vec3 v_texcoord; inout vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; float aResult = texture(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; fragColor0 = v; } vs: 00000000:0000001a THR C Tex #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
HEROES' VS v1.6.3-492-g9fddfff66 2019-04-13 Error in shader program link: info: (unknown reason) fs: 00000000:00000000 #version 300 es precision lowp float; in vec4 v_color0; out vec4 fragColor0; void main() { vec4 v = v_color0 ; fragColor0 = v; } vs: 00000000:00000002 THR #version 300 es precision highp float; in vec4 position; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; void main() { v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
GOD EATER 2 v1.7.5 2019-04-12 Error in shader program link: info: (unknown reason) fs: 00000000:0e200022 Tex TexAlpha Fog StenToAlphaDual StenKeep TFuncMod #version 300 es #extension GL_EXT_blend_func_extended : require #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; in vec4 v_color0; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; inout vec4 fragColor0; out vec4 fragColor1; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = vec4(v.rgb, 0.0); fragColor1 = vec4(0.0, 0.0, 0.0, v.a); } vs: 00080000:00007b1c HWX C T N Fog Tex Spline TessC TessT TessRevN #version 300 es precision highp float; in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; uniform sampler2D u_tess_pos_tex; uniform sampler2D u_tess_tex_tex; uniform sampler2D u_tess_col_tex; uniform int u_spline_count_u; vec2 tess_sample(in vec2 points[16], in vec2 weights[4]) { vec2 pos = vec2(0.0); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { float f = weights[j].x * weights[i].y; if (f != 0.0) pos = pos + f * points[i * 4 + j]; } } return pos; } vec3 tess_sample(in vec3 points[16], in vec2 weights[4]) { vec3 pos = vec3(0.0); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { float f = weights[j].x * weights[i].y; if (f != 0.0) pos = pos + f * points[i * 4 + j]; } } return pos; } vec4 tess_sample(in vec4 points[16], in vec2 weights[4]) { vec4 pos = vec4(0.0); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { float f = weights[j].x * weights[i].y; if (f != 0.0) pos = pos + f * points[i * 4 + j]; } } return pos; } uniform int u_spline_count_v; uniform int u_spline_type_u; uniform int u_spline_type_v; void spline_knot(ivec2 num_patches, ivec2 type, out vec2 knot[6], ivec2 patch_pos) { for (int i = 0; i < 6; ++i) { knot[i] = vec2(float(i + patch_pos.x - 2), float(i + patch_pos.y - 2)); } if ((type.x & 1) != 0) { if (patch_pos.x <= 2) knot[0].x = 0.0; if (patch_pos.x <= 1) knot[1].x = 0.0; } if ((type.x & 2) != 0) { if (patch_pos.x >= (num_patches.x - 2)) knot[5].x = float(num_patches.x); if (patch_pos.x == (num_patches.x - 1)) knot[4].x = float(num_patches.x); } if ((type.y & 1) != 0) { if (patch_pos.y <= 2) knot[0].y = 0.0; if (patch_pos.y <= 1) knot[1].y = 0.0; } if ((type.y & 2) != 0) { if (patch_pos.y >= (num_patches.y - 2)) knot[5].y = float(num_patches.y); if (patch_pos.y == (num_patches.y - 1)) knot[4].y = float(num_patches.y); } } void spline_weight(vec2 t, in vec2 knot[6], out vec2 weights[4]) { vec2 t0 = (t - knot[0]); vec2 t1 = (t - knot[1]); vec2 t2 = (t - knot[2]); vec2 f30 = t0 / (knot[3] - knot[0]); vec2 f41 = t1 / (knot[4] - knot[1]); vec2 f52 = t2 / (knot[5] - knot[2]); vec2 f31 = t1 / (knot[3] - knot[1]); vec2 f42 = t2 / (knot[4] - knot[2]); vec2 f32 = t2 / (knot[3] - knot[2]); vec2 a = (1.0 - f30)*(1.0 - f31); vec2 b = (f31*f41); vec2 c = (1.0 - f41)*(1.0 - f42); vec2 d = (f42*f52); weights[0] = a - (a*f32); weights[1] = vec2(1.0) - a - b + ((a + b + c - vec2(1.0))*f32); weights[2] = b + ((vec2(1.0) - b - c - d)*f32); weights[3] = d*f32; } void main() { vec3 _pos[16]; vec2 _tex[16]; vec4 _col[16]; int num_patches_u = u_spline_count_u - 3; int u = int(mod(float(gl_InstanceID), float(num_patches_u))); int v = gl_InstanceID / num_patches_u; ivec2 patch_pos = ivec2(u, v); for (int i = 0; i < 4; i++) { for (int j = 0; j < 4;
GOD EATER 2 v1.7.5 2019-04-12 Error in shader program link: info: (unknown reason) fs: 00000000:06200022 Tex TexAlpha Fog StenToAlphaDual Sten0 TFuncMod #version 300 es #extension GL_EXT_blend_func_extended : require #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; in vec4 v_color0; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; inout vec4 fragColor0; out vec4 fragColor1; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = vec4(v.rgb, 0.0); fragColor1 = vec4(0.0, 0.0, 0.0, v.a); } vs: 00080000:00007b1c HWX C T N Fog Tex Spline TessC TessT TessRevN #version 300 es precision highp float; in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; uniform sampler2D u_tess_pos_tex; uniform sampler2D u_tess_tex_tex; uniform sampler2D u_tess_col_tex; uniform int u_spline_count_u; vec2 tess_sample(in vec2 points[16], in vec2 weights[4]) { vec2 pos = vec2(0.0); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { float f = weights[j].x * weights[i].y; if (f != 0.0) pos = pos + f * points[i * 4 + j]; } } return pos; } vec3 tess_sample(in vec3 points[16], in vec2 weights[4]) { vec3 pos = vec3(0.0); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { float f = weights[j].x * weights[i].y; if (f != 0.0) pos = pos + f * points[i * 4 + j]; } } return pos; } vec4 tess_sample(in vec4 points[16], in vec2 weights[4]) { vec4 pos = vec4(0.0); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { float f = weights[j].x * weights[i].y; if (f != 0.0) pos = pos + f * points[i * 4 + j]; } } return pos; } uniform int u_spline_count_v; uniform int u_spline_type_u; uniform int u_spline_type_v; void spline_knot(ivec2 num_patches, ivec2 type, out vec2 knot[6], ivec2 patch_pos) { for (int i = 0; i < 6; ++i) { knot[i] = vec2(float(i + patch_pos.x - 2), float(i + patch_pos.y - 2)); } if ((type.x & 1) != 0) { if (patch_pos.x <= 2) knot[0].x = 0.0; if (patch_pos.x <= 1) knot[1].x = 0.0; } if ((type.x & 2) != 0) { if (patch_pos.x >= (num_patches.x - 2)) knot[5].x = float(num_patches.x); if (patch_pos.x == (num_patches.x - 1)) knot[4].x = float(num_patches.x); } if ((type.y & 1) != 0) { if (patch_pos.y <= 2) knot[0].y = 0.0; if (patch_pos.y <= 1) knot[1].y = 0.0; } if ((type.y & 2) != 0) { if (patch_pos.y >= (num_patches.y - 2)) knot[5].y = float(num_patches.y); if (patch_pos.y == (num_patches.y - 1)) knot[4].y = float(num_patches.y); } } void spline_weight(vec2 t, in vec2 knot[6], out vec2 weights[4]) { vec2 t0 = (t - knot[0]); vec2 t1 = (t - knot[1]); vec2 t2 = (t - knot[2]); vec2 f30 = t0 / (knot[3] - knot[0]); vec2 f41 = t1 / (knot[4] - knot[1]); vec2 f52 = t2 / (knot[5] - knot[2]); vec2 f31 = t1 / (knot[3] - knot[1]); vec2 f42 = t2 / (knot[4] - knot[2]); vec2 f32 = t2 / (knot[3] - knot[2]); vec2 a = (1.0 - f30)*(1.0 - f31); vec2 b = (f31*f41); vec2 c = (1.0 - f41)*(1.0 - f42); vec2 d = (f42*f52); weights[0] = a - (a*f32); weights[1] = vec2(1.0) - a - b + ((a + b + c - vec2(1.0))*f32); weights[2] = b + ((vec2(1.0) - b - c - d)*f32); weights[3] = d*f32; } void main() { vec3 _pos[16]; vec2 _tex[16]; vec4 _col[16]; int num_patches_u = u_spline_count_u - 3; int u = int(mod(float(gl_InstanceID), float(num_patches_u))); int v = gl_InstanceID / num_patches_u; ivec2 patch_pos = ivec2(u, v); for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++
GOD EATER 2 v1.7.5 2019-04-12 Error in shader program link: info: (unknown reason) fs: 00000000:06217022 Tex TexAlpha Fog StenToAlphaDual Sten0 TFuncMod AlphaTest0 != #version 300 es #extension GL_EXT_blend_func_extended : require #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; in vec4 v_color0; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; inout vec4 fragColor0; out vec4 fragColor1; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); if (v.a < 0.002) discard; fragColor0 = vec4(v.rgb, 0.0); fragColor1 = vec4(0.0, 0.0, 0.0, v.a); } vs: 00080000:00007b1c HWX C T N Fog Tex Spline TessC TessT TessRevN #version 300 es precision highp float; in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; uniform sampler2D u_tess_pos_tex; uniform sampler2D u_tess_tex_tex; uniform sampler2D u_tess_col_tex; uniform int u_spline_count_u; vec2 tess_sample(in vec2 points[16], in vec2 weights[4]) { vec2 pos = vec2(0.0); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { float f = weights[j].x * weights[i].y; if (f != 0.0) pos = pos + f * points[i * 4 + j]; } } return pos; } vec3 tess_sample(in vec3 points[16], in vec2 weights[4]) { vec3 pos = vec3(0.0); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { float f = weights[j].x * weights[i].y; if (f != 0.0) pos = pos + f * points[i * 4 + j]; } } return pos; } vec4 tess_sample(in vec4 points[16], in vec2 weights[4]) { vec4 pos = vec4(0.0); for (int i = 0; i < 4; ++i) { for (int j = 0; j < 4; ++j) { float f = weights[j].x * weights[i].y; if (f != 0.0) pos = pos + f * points[i * 4 + j]; } } return pos; } uniform int u_spline_count_v; uniform int u_spline_type_u; uniform int u_spline_type_v; void spline_knot(ivec2 num_patches, ivec2 type, out vec2 knot[6], ivec2 patch_pos) { for (int i = 0; i < 6; ++i) { knot[i] = vec2(float(i + patch_pos.x - 2), float(i + patch_pos.y - 2)); } if ((type.x & 1) != 0) { if (patch_pos.x <= 2) knot[0].x = 0.0; if (patch_pos.x <= 1) knot[1].x = 0.0; } if ((type.x & 2) != 0) { if (patch_pos.x >= (num_patches.x - 2)) knot[5].x = float(num_patches.x); if (patch_pos.x == (num_patches.x - 1)) knot[4].x = float(num_patches.x); } if ((type.y & 1) != 0) { if (patch_pos.y <= 2) knot[0].y = 0.0; if (patch_pos.y <= 1) knot[1].y = 0.0; } if ((type.y & 2) != 0) { if (patch_pos.y >= (num_patches.y - 2)) knot[5].y = float(num_patches.y); if (patch_pos.y == (num_patches.y - 1)) knot[4].y = float(num_patches.y); } } void spline_weight(vec2 t, in vec2 knot[6], out vec2 weights[4]) { vec2 t0 = (t - knot[0]); vec2 t1 = (t - knot[1]); vec2 t2 = (t - knot[2]); vec2 f30 = t0 / (knot[3] - knot[0]); vec2 f41 = t1 / (knot[4] - knot[1]); vec2 f52 = t2 / (knot[5] - knot[2]); vec2 f31 = t1 / (knot[3] - knot[1]); vec2 f42 = t2 / (knot[4] - knot[2]); vec2 f32 = t2 / (knot[3] - knot[2]); vec2 a = (1.0 - f30)*(1.0 - f31); vec2 b = (f31*f41); vec2 c = (1.0 - f41)*(1.0 - f42); vec2 d = (f42*f52); weights[0] = a - (a*f32); weights[1] = vec2(1.0) - a - b + ((a + b + c - vec2(1.0))*f32); weights[2] = b + ((vec2(1.0) - b - c - d)*f32); weights[3] = d*f32; } void main() { vec3 _pos[16]; vec2 _tex[16]; vec4 _col[16]; int num_patches_u = u_spline_count_u - 3; int u = int(mod(float(gl_InstanceID), float(num_patches_u))); int v = gl_InstanceID / num_patches_u; ivec2 patch_pos = ivec2(
ナルティメットインパクト v1.6.3-492-g9fddfff66 2019-04-11 Error in shader program link: info: (unknown reason) fs: 00000000:00000000 #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; in vec4 v_color0; inout vec4 fragColor0; void main() { vec4 v = v_color0 ; fragColor0 = v; } vs: 00000000:0000000a THR C #version 300 es precision highp float; in vec4 position; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; void main() { v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
スーパーロボット大戦A PORTABLE v1.6.3-492-g9fddfff66 2019-04-11 Error in shader program link: info: (unknown reason) fs: 00000000:00000002 Tex TFuncMod #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; in vec4 v_color0; in mediump vec3 v_texcoord; inout vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a); fragColor0 = v; } vs: 00000000:0000001a THR C Tex #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
GTA: Liberty City Stories v1.6.3-492-g9fddfff66 2019-04-11 Error in shader program link: info: (unknown reason) fs: 00014000:0000d0a2 Tex TexAlpha Flat TClamp TFuncMod AlphaTest > #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform vec4 u_texclamp; uniform sampler2D testtex; flat in vec4 v_color0; in mediump vec3 v_texcoord; inout vec4 fragColor0; void main() { vec2 fixedcoord = vec2(mod(v_texcoord.x, u_texclamp.x), mod(v_texcoord.y, u_texclamp.y)); vec4 t = texture(tex, fixedcoord.xy); vec4 p = v_color0; vec4 v = p * t; float aResult = texture(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) v.a = 0.0; fragColor0 = v; } vs: 40000000:0000001a THR C Tex Flat #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; flat out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
ソウルキャリバー Broken Destiny v1.6.3-492-g9fddfff66 2019-04-10 Error in shader program link: info: (unknown reason) fs: 00000000:00000022 Tex TexAlpha TFuncMod #version 300 es precision lowp float; uniform sampler2D tex; in vec4 v_color0; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; fragColor0 = v; } vs: 00000000:0000001a THR C Tex #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
ソウルキャリバー Broken Destiny v1.6.3-492-g9fddfff66 2019-04-10 Error in shader program link: info: (unknown reason) fs: 00000000:00000000 #version 300 es precision lowp float; in vec4 v_color0; out vec4 fragColor0; void main() { vec4 v = v_color0 ; fragColor0 = v; } vs: 00000000:0000000a THR C #version 300 es precision highp float; in vec4 position; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; void main() { v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
Iron Man™ 2 v1.6.3-492-g9fddfff66 2019-04-10 Error in shader program link: info: (unknown reason) fs: 00000000:0000000e Tex TFuncRepl (failed) #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; in vec4 v_color0; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb, p.a); fragColor0 = v; } vs: 00000000:00000012 THR Tex #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
(homebrew) v1.8.0 2019-04-10 Error in shader program link: info: (unknown reason) fs: postshader /* AA shader 4.o / AA shader 4.o - filtro Copyright (C) 2014 guest(r) - [email protected] This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Modified as video aware smoothing effect for PPSSPP. // Some variable definitions had to be moved inside functions(and so repeated) due to glsl->hlsl auto translation failing. // Also auto translation fails with bool uniform, which is why u_video is defined as float. #ifdef GL_ES precision mediump float; precision mediump int; #endif uniform sampler2D sampler0; uniform float u_video; //=========== varying vec2 v_texcoord0; const vec3 dt = vec3(1.0,1.0,1.0); vec3 texture2d (vec2 texcoord) { float scale = 1.0; if (u_video==1.0){ scale = 2.0; } else { scale = 7.0; } vec4 yx = vec4(1.0/480.0,1.0/272.0,-1.0/480.0,-1.0/272.0)/scale; vec4 xy = vec4(2.0/480.0,2.0/272.0,-2.0/480.0,-2.0/272.0)/scale; vec3 s00 = texture2D(sampler0, texcoord + yx.zw).xyz; vec3 s20 = texture2D(sampler0, texcoord + yx.xw).xyz; vec3 s22 = texture2D(sampler0, texcoord + yx.xy).xyz; vec3 s02 = texture2D(sampler0, texcoord + yx.zy).xyz; float m1=dot(abs(s00-s22),dt)+0.001; float m2=dot(abs(s02-s20),dt)+0.001; return 0.5*(m2*(s00+s22)+m1*(s02+s20))/(m1+m2); } vec3 texture2dd (vec2 texcoord) { float scale = 1.0; if (u_video==1.0){ scale = 2.0; } else { scale = 7.0; } vec4 yx = vec4(1.0/480.0,1.0/272.0,-1.0/480.0,-1.0/272.0)/scale; vec4 xy = vec4(2.0/480.0,2.0/272.0,-2.0/480.0,-2.0/272.0)/scale; vec3 c11 = texture2D(sampler0, texcoord ).xyz; vec3 c00 = texture2D(sampler0, texcoord + xy.zw).xyz; vec3 c20 = texture2D(sampler0, texcoord + xy.xw).xyz; vec3 c22 = texture2D(sampler0, texcoord + xy.xy).xyz; vec3 c02 = texture2D(sampler0, texcoord + xy.zy).xyz; vec3 s00 = texture2D(sampler0, texcoord + yx.zw).xyz; vec3 s20 = texture2D(sampler0, texcoord + yx.xw).xyz; vec3 s22 = texture2D(sampler0, texcoord + yx.xy).xyz; vec3 s02 = texture2D(sampler0, texcoord + yx.zy).xyz; float d1=dot(abs(c00-c22),dt)+0.001; float d2=dot(abs(c20-c02),dt)+0.001; float m1=dot(abs(s00-s22),dt)+0.001; float m2=dot(abs(s02-s20),dt)+0.001; vec3 t2=(d1*(c20+c02)+d2*(c00+c22))/(2.0*(d1+d2)); return 0.25*(c11+t2+(m2*(s00+s22)+m1*(s02+s20))/(m1+m2)); } void main() { float scale = 7.0; bool filtro = false; if (u_video==1.0){ scale = 2.0; filtro = true; } else { scale = 7.0; filtro = false; } // Calculating texel coordinates vec2 size = vec2(480.0,272.0)*scale; vec2 inv_size = vec2(1.0/480.0,1.0/272.0)/scale; vec2 OGL2Pos = v_texcoord0 * size; vec2 fp = fract(OGL2Pos); vec2 dx = vec2(inv_size.x,0.0); vec2 dy = vec2(0.0, inv_size.y); vec2 g1 = vec2(inv_size.x,inv_size.y); vec2 g2 = vec2(-inv_size.x,inv_size.y); vec2 pC4 = floor(OGL2Pos) * inv_size + 0.5*inv_size; // Reading the texels vec3 C0 = texture2d(pC4 - g1); vec3 C1 = texture2d(pC4 - dy); vec3 C2 = texture2d(pC4 - g2); vec3 C3 = texture2d(pC4 - dx); vec3 C4 = texture2d(pC4 ); vec3 C5 = texture2d(pC4 + dx); vec3 C6 = texture2d(pC4 + g2); vec3 C7 = texture2d(pC4 + dy); vec3 C8 = texture2d(pC4 + g1); vec3 ul, ur, dl, dr; float m1, m2; m1 = dot(abs(C0-C4),dt)+0.001; m2 = dot(abs(C1-C3),dt)+0.001; ul = (m2
PES 2014 v1.8.0 2019-04-09 Error in shader program link: info: (unknown reason) fs: postshader /* AA shader 4.o / AA shader 4.o - filtro Copyright (C) 2014 guest(r) - [email protected] This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Modified as video aware smoothing effect for PPSSPP. // Some variable definitions had to be moved inside functions(and so repeated) due to glsl->hlsl auto translation failing. // Also auto translation fails with bool uniform, which is why u_video is defined as float. #ifdef GL_ES precision mediump float; precision mediump int; #endif uniform sampler2D sampler0; uniform float u_video; //=========== varying vec2 v_texcoord0; const vec3 dt = vec3(1.0,1.0,1.0); vec3 texture2d (vec2 texcoord) { float scale = 1.0; if (u_video==1.0){ scale = 2.0; } else { scale = 7.0; } vec4 yx = vec4(1.0/480.0,1.0/272.0,-1.0/480.0,-1.0/272.0)/scale; vec4 xy = vec4(2.0/480.0,2.0/272.0,-2.0/480.0,-2.0/272.0)/scale; vec3 s00 = texture2D(sampler0, texcoord + yx.zw).xyz; vec3 s20 = texture2D(sampler0, texcoord + yx.xw).xyz; vec3 s22 = texture2D(sampler0, texcoord + yx.xy).xyz; vec3 s02 = texture2D(sampler0, texcoord + yx.zy).xyz; float m1=dot(abs(s00-s22),dt)+0.001; float m2=dot(abs(s02-s20),dt)+0.001; return 0.5*(m2*(s00+s22)+m1*(s02+s20))/(m1+m2); } vec3 texture2dd (vec2 texcoord) { float scale = 1.0; if (u_video==1.0){ scale = 2.0; } else { scale = 7.0; } vec4 yx = vec4(1.0/480.0,1.0/272.0,-1.0/480.0,-1.0/272.0)/scale; vec4 xy = vec4(2.0/480.0,2.0/272.0,-2.0/480.0,-2.0/272.0)/scale; vec3 c11 = texture2D(sampler0, texcoord ).xyz; vec3 c00 = texture2D(sampler0, texcoord + xy.zw).xyz; vec3 c20 = texture2D(sampler0, texcoord + xy.xw).xyz; vec3 c22 = texture2D(sampler0, texcoord + xy.xy).xyz; vec3 c02 = texture2D(sampler0, texcoord + xy.zy).xyz; vec3 s00 = texture2D(sampler0, texcoord + yx.zw).xyz; vec3 s20 = texture2D(sampler0, texcoord + yx.xw).xyz; vec3 s22 = texture2D(sampler0, texcoord + yx.xy).xyz; vec3 s02 = texture2D(sampler0, texcoord + yx.zy).xyz; float d1=dot(abs(c00-c22),dt)+0.001; float d2=dot(abs(c20-c02),dt)+0.001; float m1=dot(abs(s00-s22),dt)+0.001; float m2=dot(abs(s02-s20),dt)+0.001; vec3 t2=(d1*(c20+c02)+d2*(c00+c22))/(2.0*(d1+d2)); return 0.25*(c11+t2+(m2*(s00+s22)+m1*(s02+s20))/(m1+m2)); } void main() { float scale = 7.0; bool filtro = false; if (u_video==1.0){ scale = 2.0; filtro = true; } else { scale = 7.0; filtro = false; } // Calculating texel coordinates vec2 size = vec2(480.0,272.0)*scale; vec2 inv_size = vec2(1.0/480.0,1.0/272.0)/scale; vec2 OGL2Pos = v_texcoord0 * size; vec2 fp = fract(OGL2Pos); vec2 dx = vec2(inv_size.x,0.0); vec2 dy = vec2(0.0, inv_size.y); vec2 g1 = vec2(inv_size.x,inv_size.y); vec2 g2 = vec2(-inv_size.x,inv_size.y); vec2 pC4 = floor(OGL2Pos) * inv_size + 0.5*inv_size; // Reading the texels vec3 C0 = texture2d(pC4 - g1); vec3 C1 = texture2d(pC4 - dy); vec3 C2 = texture2d(pC4 - g2); vec3 C3 = texture2d(pC4 - dx); vec3 C4 = texture2d(pC4 ); vec3 C5 = texture2d(pC4 + dx); vec3 C6 = texture2d(pC4 + g2); vec3 C7 = texture2d(pC4 + dy); vec3 C8 = texture2d(pC4 + g1); vec3 ul, ur, dl, dr; float m1, m2; m1 = dot(abs(C0-C4),dt)+0.001; m2 = dot(abs(C1-C3),dt)+0.001; ul = (m2
PES 2014 v1.8.0 2019-04-08 Error in shader program link: info: (unknown reason) fs: postshader /* Hyllian's 5xBR v3.5a Shader Copyright (C) 2011 Hyllian/Jararaca - [email protected] This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifdef GL_ES precision mediump float; precision mediump int; #endif uniform sampler2D sampler0; uniform vec2 u_texelDelta; uniform vec2 u_pixelDelta; varying vec2 v_texcoord0; const float coef = 2.0; const vec3 rgbw = vec3(16.163, 23.351, 8.4772); const vec4 Ao = vec4( 1.0, -1.0, -1.0, 1.0 ); const vec4 Bo = vec4( 1.0, 1.0, -1.0,-1.0 ); const vec4 Co = vec4( 1.5, 0.5, -0.5, 0.5 ); const vec4 Ax = vec4( 1.0, -1.0, -1.0, 1.0 ); const vec4 Bx = vec4( 0.5, 2.0, -0.5,-2.0 ); const vec4 Cx = vec4( 1.0, 1.0, -0.5, 0.0 ); const vec4 Ay = vec4( 1.0, -1.0, -1.0, 1.0 ); const vec4 By = vec4( 2.0, 0.5, -2.0,-0.5 ); const vec4 Cy = vec4( 2.0, 0.0, -1.0, 0.5 ); vec4 df(vec4 A, vec4 B) { return abs(A-B); } vec4 weighted_distance(vec4 a, vec4 b, vec4 c, vec4 d, vec4 e, vec4 f, vec4 g, vec4 h) { return (df(a,b) + df(a,c) + df(d,e) + df(d,f) + 4.0*df(g,h)); } void main(){ bool upscale = u_texelDelta.x > (1.6 * u_pixelDelta.x); vec3 res = texture2D(sampler0, v_texcoord0.xy).xyz; // Let's skip the whole scaling if output size smaller than 1.6x of input size if (upscale) { bvec4 edr, edr_left, edr_up, px; // px = pixel, edr = edge detection rule bvec4 interp_restriction_lv1, interp_restriction_lv2_left, interp_restriction_lv2_up; bvec4 nc; // new_color bvec4 fx, fx_left, fx_up; // inequations of straight lines. vec2 pS = 1.0 / u_texelDelta.xy; vec2 fp = fract(v_texcoord0.xy*pS.xy); vec2 TexCoord_0 = v_texcoord0.xy-fp*u_pixelDelta.xy; vec2 dx = vec2(u_texelDelta.x,0.0); vec2 dy = vec2(0.0,u_texelDelta.y); vec2 y2 = dy + dy; vec2 x2 = dx + dx; vec3 A = texture2D(sampler0, TexCoord_0 -dx -dy ).xyz; vec3 B = texture2D(sampler0, TexCoord_0 -dy ).xyz; vec3 C = texture2D(sampler0, TexCoord_0 +dx -dy ).xyz; vec3 D = texture2D(sampler0, TexCoord_0 -dx ).xyz; vec3 E = texture2D(sampler0, TexCoord_0 ).xyz; vec3 F = texture2D(sampler0, TexCoord_0 +dx ).xyz; vec3 G = texture2D(sampler0, TexCoord_0 -dx +dy ).xyz; vec3 H = texture2D(sampler0, TexCoord_0 +dy ).xyz; vec3 I = texture2D(sampler0, TexCoord_0 +dx +dy ).xyz; vec3 A1 = texture2D(sampler0, TexCoord_0 -dx -y2).xyz; vec3 C1 = texture2D(sampler0, TexCoord_0 +dx -y2).xyz; vec3 A0 = texture2D(sampler0, TexCoord_0 -x2 -dy).xyz; vec3 G0 = texture2D(sampler0, TexCoord_0 -x2 +dy).xyz; vec3 C4 = texture2D(sampler0, TexCoord_0 +x2 -dy).xyz; vec3 I4 = texture2D(sampler0, TexCoord_0 +x2 +dy).xyz; vec3 G5 = texture2D(sampler0, TexCoord_0 -dx +y2).xyz; vec3 I5 = texture2D(sampler0, TexCoord_0 +dx +y2).xyz; vec3 B1 = texture2D(sampler0, TexCoord_0 -y2).xyz; vec3 D0 = texture2D(sampler0, TexCoord_0 -x2 ).xyz; vec3 H5 = texture2D(sampler0, TexCoord_0 +y2).xyz; vec3 F4 = texture2D(sampler0, TexCoord_0 +x2 ).xyz; vec4 b = vec4(dot(B ,rgbw), dot(D ,rgbw), dot(H ,rgbw), dot(F ,rgbw)); vec4 c = vec4(dot(C ,rgbw), dot(A ,rgbw), dot(G ,rgbw), dot(I ,rgbw)); vec4 d = vec4(b.y, b.z, b.w, b.x); vec4 e = vec4(dot(E,rgbw)); vec4 f = vec4(b.w, b.x, b.y, b.z); vec4 g = vec4(c.z, c.w, c.x, c.y); vec4 h = vec4(b.z, b.w, b.x, b.y); vec4 i = vec4(c.w,
ときめきメモリアル4 v1.6.3-492-g9fddfff66 2019-04-07 Error in shader program link: info: (unknown reason) fs: 00000000:0001d000 AlphaTest0 > #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D testtex; in vec4 v_color0; inout vec4 fragColor0; void main() { vec4 v = v_color0 ; if (v.a < 0.002) discard; fragColor0 = v; } vs: 00000000:0000000a THR C #version 300 es precision highp float; in vec4 position; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; void main() { v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
ときめきメモリアル4 v1.6.3-492-g9fddfff66 2019-04-07 Error in shader program link: info: (unknown reason) fs: 00000000:0001d022 Tex TexAlpha TFuncMod AlphaTest0 > #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; in vec4 v_color0; in mediump vec3 v_texcoord; inout vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; if (v.a < 0.002) discard; fragColor0 = v; } vs: 00000000:00000012 THR Tex #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
CAPCOM CLASSICS COLLECTION RELOADED v1.7.1-171-g442b57033 2019-04-07 Error in shader program link: info: ERROR: 0:31: 'warna' : undeclared identifier ERROR: 0:32: 'cerah' : undeclared identifier ERROR: 0:33: 'kontras' : undeclared identifier ERROR: 0:35: 'kemerahan' : undeclared identifier ERROR: 0:36: 'kehijauan' : undeclared identifier ERROR: 0:37: 'kebiruan' : undeclared identifier ERROR: 6 compilation errors. No code generated. fs: postshader (failed) //Shader Colors HD V0 //Build by Benda /////////////////////////////////// /////////////////////////////////// #define sugoicolor 1 #ifdef GL_ES precision mediump float; precision mediump int; #endif uniform sampler2D sampler0; uniform vec4 u_time; uniform vec2 u_texelDelta; uniform vec2 u_pixelDelta; varying vec2 v_texcoord0; float overlay(float base, float blend) {float result = 0.0; if( base < 0.5 ) result = 2.0 * base * blend; else result = 1.0 - (1.0 - 2.0*(base-0.5)) * (1.0-blend); return result;} void main() {vec3 color = texture2D(sampler0, v_texcoord0.xy).xyz; #if(sugoicolor==1) float sat = warna; float brt = cerah; float con = kontras; float AvgLumR = kemerahan; float AvgLumG = kehijauan; float AvgLumB = kebiruan; const vec3 LumCoeff = vec3(0.2125, 0.7154, 0.0721); vec3 AvgLumin = vec3(AvgLumR, AvgLumG, AvgLumB); vec3 conRGB = vec3(0.5, 0.5, 0.5); vec3 brtColor = color.rgb * brt; vec3 intensity = vec3((brtColor.r*LumCoeff.r)+(brtColor.g*LumCoeff.g)+(brtColor.b*LumCoeff.b)); vec3 satColor = mix(intensity, brtColor, sat); vec3 conColor = mix(conRGB, satColor, con); vec3 mixColor = AvgLumin * conColor; color.rgb = mixColor; #endif gl_FragColor.xyz=color; gl_FragColor.a = 1.0;} vs: postshader attribute vec4 a_position; attribute vec2 a_texcoord0; varying vec2 v_texcoord0; void main() { v_texcoord0 = a_texcoord0; gl_Position = a_position; }
DISSIDIA duodecim FINAL FANTASY v1.7.4 2019-04-07 Error in shader program link: info: Vertex and Fragment shader(s) were not successfully compiled before glLinkProgram() was called. Link failed. fs: depal (failed) #version 110 varying vec2 v_texcoord0; uniform sampler2D tex; uniform sampler2D pal; void main() { vec4 index = texture2D(tex, v_texcoord0); float coord = (index.b * 0.060547) + 0.000977; gl_FragColor = texture2D(pal, vec2(coord, 0.0)); } vs: depal (failed) #ifdef GL_ES precision highp float; #endif attribute vec4 a_position; attribute vec2 a_texcoord0; varying vec2 v_texcoord0; void main() { v_texcoord0 = a_texcoord0; gl_Position = a_position; }
DISSIDIA duodecim FINAL FANTASY v1.7.4 2019-04-07 Error in shader program link: info: Vertex and Fragment shader(s) were not successfully compiled before glLinkProgram() was called. Link failed. fs: depal (failed) #version 110 varying vec2 v_texcoord0; uniform sampler2D tex; uniform sampler2D pal; void main() { vec4 index = texture2D(tex, v_texcoord0); float coord = (index.g * 0.060547) + 0.000977; gl_FragColor = texture2D(pal, vec2(coord, 0.0)); } vs: depal (failed) #ifdef GL_ES precision highp float; #endif attribute vec4 a_position; attribute vec2 a_texcoord0; varying vec2 v_texcoord0; void main() { v_texcoord0 = a_texcoord0; gl_Position = a_position; }
DISSIDIA duodecim FINAL FANTASY v1.7.4 2019-04-07 Error in shader program link: info: Vertex and Fragment shader(s) were not successfully compiled before glLinkProgram() was called. Link failed. fs: depal (failed) #version 110 varying vec2 v_texcoord0; uniform sampler2D tex; uniform sampler2D pal; void main() { vec4 index = texture2D(tex, v_texcoord0); float coord = (index.r * 0.060547) + 0.000977; gl_FragColor = texture2D(pal, vec2(coord, 0.0)); } vs: depal (failed) #ifdef GL_ES precision highp float; #endif attribute vec4 a_position; attribute vec2 a_texcoord0; varying vec2 v_texcoord0; void main() { v_texcoord0 = a_texcoord0; gl_Position = a_position; }
God of War®: Ghost of Sparta v1.6.3-432-gfd6c3145d 2019-04-06 Error in shader program link: info: (unknown reason) fs: 00000000:00800822 Tex TexAlpha LM 2x TFuncMod #version 100 precision lowp float; uniform sampler2D tex; varying vec4 v_color0; varying vec3 v_color1; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; v.rgb = v.rgb * 2.0; gl_FragColor = v; } vs: 01730100:00000b19 HWX C T N LM Tex Light: 0: c:0 t:0 1: c:0 t:0 2: c:1 t:0 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; attribute lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform vec3 u_lightpos1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform vec3 u_lightpos2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform lowp vec4 u_ambient; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; mediump float ldot; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * color0.rgb) * ldot; lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse); toLight = u_lightpos1; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse1 * color0.rgb) * ldot; lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse); toLight = u_lightpos2; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse2 * color0.rgb) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient2 * color0.rgb + diffuse); v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = clamp(lightSum1, 0.0, 1.0); v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); }
God of War: Chains of Olympus v1.7.5 2019-04-08 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:00a00802 Tex LM Fog 2x TFuncMod #version 100 precision lowp float; uniform sampler2D tex; varying vec4 v_color0; varying vec3 v_color1; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a) + s; v.rgb = clamp(v.rgb * 2.0, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); gl_FragColor = v; } vs: 01f24444:00000b1d HWX C T N LM Fog Tex Light: 0: c:0 t:1 1: c:0 t:1 2: c:0 t:1 3: c:0 t:1 MatUp:2 (failed) #version 100 precision highp float; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; attribute lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform mediump vec3 u_lightatt0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec4 u_ambient; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse0 * color0.rgb) * ldot; lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * color0.rgb) * ldot; lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * color0.rgb) * ldot; lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos3 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt3, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse3 * color0.rgb) * ldot; lightSum0.rgb += (u_lightambient3 * u_matambientalpha.rgb + diffuse) * lightScale; v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = vec3(0.0); v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; vec3 projPos = outPos.xyz / outPos.w; if (u_cullRangeMin.w <= 0.0 || (projPos.z >= u_cullRangeMin.z && projPos.z <= u_cullRangeMax.z)) { if (projPos.x <
無雙OROCHI 蛇魔再臨 增值版 v1.6.3-492-g9fddfff66 2019-04-05 Error in shader program link: info: (unknown reason) fs: 00001d83:0001d000 ReplaceBlend_3A:6_B:7_Eq:0 AlphaTest0 > #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D testtex; in vec4 v_color0; inout vec4 fragColor0; void main() { vec4 v = v_color0 ; if (v.a < 0.002) discard; v.rgb = v.rgb * vec3(v.a * 2.0); v.a = v.a * 2.0; fragColor0 = v; } vs: 00000000:0000000a THR C #version 300 es precision highp float; in vec4 position; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; void main() { v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
Dragon Ball Z: Tenkaichi Tag Team v1.6.3-492-g9fddfff66 2019-04-04 Error in shader program link: info: Link Error: Fragment shader is missing. fs: 00000000:00000002 Tex TFuncMod #version 100 precision lowp float; uniform sampler2D tex; varying vec4 v_color0; varying highp vec3 v_texcoord; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a); gl_FragColor = v; } vs: 00000000:00000012 THR Tex #version 100 precision highp float; attribute vec4 position; attribute vec2 texcoord; attribute lowp vec4 color0; uniform mat4 u_proj_through; varying lowp vec4 v_color0; varying highp vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
Tomb Raider: Anniversary™ v1.7.5 2019-04-04 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:0120d022 Tex TexAlpha Fog StenToAlpha StenUniform TFuncMod AlphaTest > #version 100 precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; uniform float u_stencilReplaceValue; varying vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; gl_FragColor = vec4(v.rgb, u_stencilReplaceValue); } vs: 03710484:40c00b1c HWX C T N Fog Tex Bones:4 Light: 0: c:0 t:1 1: c:0 t:2 2: c:0 t:1 MatUp:1 WScale 1 (failed) #version 100 precision highp float; attribute mediump vec4 w1; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; attribute lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform mat4 u_bone0; uniform mat4 u_bone1; uniform mat4 u_bone2; uniform mat4 u_bone3; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform mediump vec3 u_lightatt0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform mediump vec3 u_lightdir1; uniform mediump vec2 u_lightangle_spotCoef1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { mat4 skinMatrix = w1.x * u_bone0 + w1.y * u_bone1 + w1.z * u_bone2 + w1.w * u_bone3; vec3 skinnedpos = (skinMatrix * vec4(position, 1.0)).xyz * 1.9921875; vec3 worldpos = (u_world * vec4(skinnedpos, 1.0)).xyz; mediump vec3 skinnednormal = (skinMatrix * vec4(normal, 0.0)).xyz * 1.9921875; mediump vec3 worldnormal = normalize((u_world * vec4(skinnednormal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef1.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient2 * color0.rgb + diffuse) * lightScale; v_color0 = clamp(lightSum0, 0.0, 1.0); v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (
Tomb Raider: Anniversary™ v1.7.5 2019-04-04 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:0120d022 Tex TexAlpha Fog StenToAlpha StenUniform TFuncMod AlphaTest > #version 100 precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; uniform float u_stencilReplaceValue; varying vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; gl_FragColor = vec4(v.rgb, u_stencilReplaceValue); } vs: 03710484:41800b1c HWX C T N Fog Tex Bones:7 Light: 0: c:0 t:1 1: c:0 t:2 2: c:0 t:1 MatUp:1 WScale 1 (failed) #version 100 precision highp float; attribute mediump vec4 w1; attribute mediump vec3 w2; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; attribute lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform mat4 u_bone0; uniform mat4 u_bone1; uniform mat4 u_bone2; uniform mat4 u_bone3; uniform mat4 u_bone4; uniform mat4 u_bone5; uniform mat4 u_bone6; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform mediump vec3 u_lightatt0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform mediump vec3 u_lightdir1; uniform mediump vec2 u_lightangle_spotCoef1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { mat4 skinMatrix = w1.x * u_bone0 + w1.y * u_bone1 + w1.z * u_bone2 + w1.w * u_bone3 + w2.x * u_bone4 + w2.y * u_bone5 + w2.z * u_bone6; vec3 skinnedpos = (skinMatrix * vec4(position, 1.0)).xyz * 1.9921875; vec3 worldpos = (u_world * vec4(skinnedpos, 1.0)).xyz; mediump vec3 skinnednormal = (skinMatrix * vec4(normal, 0.0)).xyz * 1.9921875; mediump vec3 worldnormal = normalize((u_world * vec4(skinnednormal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef1.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient2 * color0.rg
AKIBA’S TRIP PLUS v1.6.3-492-g9fddfff66 2019-04-04 Error in shader program link: info: (unknown reason) fs: 00000000:0000d002 Tex TFuncMod AlphaTest > #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; in vec4 v_color0; in mediump vec3 v_texcoord; inout vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a); float aResult = texture(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; fragColor0 = v; } vs: 00000000:0000001a THR C Tex #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
GTA: Liberty City Stories v1.8.0 2019-04-04 Error in shader program link: info: (unknown reason) fs: postshader /* Hyllian's 5xBR v3.5a Shader Copyright (C) 2011 Hyllian/Jararaca - [email protected] This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifdef GL_ES precision mediump float; precision mediump int; #endif uniform sampler2D sampler0; uniform vec2 u_texelDelta; uniform vec2 u_pixelDelta; varying vec2 v_texcoord0; const float coef = 2.0; const vec3 rgbw = vec3(16.163, 23.351, 8.4772); const vec4 Ao = vec4( 1.0, -1.0, -1.0, 1.0 ); const vec4 Bo = vec4( 1.0, 1.0, -1.0,-1.0 ); const vec4 Co = vec4( 1.5, 0.5, -0.5, 0.5 ); const vec4 Ax = vec4( 1.0, -1.0, -1.0, 1.0 ); const vec4 Bx = vec4( 0.5, 2.0, -0.5,-2.0 ); const vec4 Cx = vec4( 1.0, 1.0, -0.5, 0.0 ); const vec4 Ay = vec4( 1.0, -1.0, -1.0, 1.0 ); const vec4 By = vec4( 2.0, 0.5, -2.0,-0.5 ); const vec4 Cy = vec4( 2.0, 0.0, -1.0, 0.5 ); vec4 df(vec4 A, vec4 B) { return abs(A-B); } vec4 weighted_distance(vec4 a, vec4 b, vec4 c, vec4 d, vec4 e, vec4 f, vec4 g, vec4 h) { return (df(a,b) + df(a,c) + df(d,e) + df(d,f) + 4.0*df(g,h)); } void main(){ bool upscale = u_texelDelta.x > (1.6 * u_pixelDelta.x); vec3 res = texture2D(sampler0, v_texcoord0.xy).xyz; // Let's skip the whole scaling if output size smaller than 1.6x of input size if (upscale) { bvec4 edr, edr_left, edr_up, px; // px = pixel, edr = edge detection rule bvec4 interp_restriction_lv1, interp_restriction_lv2_left, interp_restriction_lv2_up; bvec4 nc; // new_color bvec4 fx, fx_left, fx_up; // inequations of straight lines. vec2 pS = 1.0 / u_texelDelta.xy; vec2 fp = fract(v_texcoord0.xy*pS.xy); vec2 TexCoord_0 = v_texcoord0.xy-fp*u_pixelDelta.xy; vec2 dx = vec2(u_texelDelta.x,0.0); vec2 dy = vec2(0.0,u_texelDelta.y); vec2 y2 = dy + dy; vec2 x2 = dx + dx; vec3 A = texture2D(sampler0, TexCoord_0 -dx -dy ).xyz; vec3 B = texture2D(sampler0, TexCoord_0 -dy ).xyz; vec3 C = texture2D(sampler0, TexCoord_0 +dx -dy ).xyz; vec3 D = texture2D(sampler0, TexCoord_0 -dx ).xyz; vec3 E = texture2D(sampler0, TexCoord_0 ).xyz; vec3 F = texture2D(sampler0, TexCoord_0 +dx ).xyz; vec3 G = texture2D(sampler0, TexCoord_0 -dx +dy ).xyz; vec3 H = texture2D(sampler0, TexCoord_0 +dy ).xyz; vec3 I = texture2D(sampler0, TexCoord_0 +dx +dy ).xyz; vec3 A1 = texture2D(sampler0, TexCoord_0 -dx -y2).xyz; vec3 C1 = texture2D(sampler0, TexCoord_0 +dx -y2).xyz; vec3 A0 = texture2D(sampler0, TexCoord_0 -x2 -dy).xyz; vec3 G0 = texture2D(sampler0, TexCoord_0 -x2 +dy).xyz; vec3 C4 = texture2D(sampler0, TexCoord_0 +x2 -dy).xyz; vec3 I4 = texture2D(sampler0, TexCoord_0 +x2 +dy).xyz; vec3 G5 = texture2D(sampler0, TexCoord_0 -dx +y2).xyz; vec3 I5 = texture2D(sampler0, TexCoord_0 +dx +y2).xyz; vec3 B1 = texture2D(sampler0, TexCoord_0 -y2).xyz; vec3 D0 = texture2D(sampler0, TexCoord_0 -x2 ).xyz; vec3 H5 = texture2D(sampler0, TexCoord_0 +y2).xyz; vec3 F4 = texture2D(sampler0, TexCoord_0 +x2 ).xyz; vec4 b = vec4(dot(B ,rgbw), dot(D ,rgbw), dot(H ,rgbw), dot(F ,rgbw)); vec4 c = vec4(dot(C ,rgbw), dot(A ,rgbw), dot(G ,rgbw), dot(I ,rgbw)); vec4 d = vec4(b.y, b.z, b.w, b.x); vec4 e = vec4(dot(E,rgbw)); vec4 f = vec4(b.w, b.x, b.y, b.z); vec4 g = vec4(c.z, c.w, c.x, c.y); vec4 h = vec4(b.z, b.w, b.x, b.y); vec4 i = vec4(c.w,
ガンダムアサルトサヴァイブ v1.6.3-492-g9fddfff66 2019-04-04 Error in shader program link: info: (unknown reason) fs: 00000000:00000002 Tex TFuncMod #version 300 es precision lowp float; uniform sampler2D tex; in vec4 v_color0; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a); fragColor0 = v; } vs: 00000000:00000012 THR Tex #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
(homebrew) v1.8.0 2019-04-22 Error in shader program link: info: (unknown reason) fs: thin3d vs: thin3d #if __VERSION__ >= 130 #define attribute in #define varying out #endif attribute vec3 Position; attribute vec4 Color0; attribute vec2 TexCoord0; varying vec4 oColor0; varying vec2 oTexCoord0; uniform mat4 WorldViewProj; void main() { gl_Position = WorldViewProj * vec4(Position, 1.0); oColor0 = Color0; oTexCoord0 = TexCoord0; }
GODS EATER BURST v1.7.5 2019-04-03 Error in shader program link: info: (unknown reason) fs: postshader /* Hyllian's xBR-lv2 Shader Accuracy (tweak by guest.r) Copyright (C) 2011-2015 Hyllian - [email protected] Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Incorporates some of the ideas from SABR shader. Thanks to Joshua Street. */ #ifdef GL_ES precision mediump float; precision mediump int; #endif #define CornerA 0 //ON:1/OFF:0 / A, B, C, D are just different variants of corner rounding #define CornerB 0 //ON:1/OFF:0 / activate only one #define CornerD 0 //ON:1/OFF:0 // CornerC //used as default if none of the above is defined const float XBR_SCALE = 3.0; const float lv2_cf = 2.0; const float coef = 2.0; const vec3 rgbw = vec3(14.352, 28.176, 5.472); const vec4 eq_threshold = vec4(15.0, 15.0, 15.0, 15.0); const vec4 Ao = vec4( 1.0, -1.0, -1.0, 1.0 ); const vec4 Bo = vec4( 1.0, 1.0, -1.0,-1.0 ); const vec4 Co = vec4( 1.5, 0.5, -0.5, 0.5 ); const vec4 Ax = vec4( 1.0, -1.0, -1.0, 1.0 ); const vec4 Bx = vec4( 0.5, 2.0, -0.5,-2.0 ); const vec4 Cx = vec4( 1.0, 1.0, -0.5, 0.0 ); const vec4 Ay = vec4( 1.0, -1.0, -1.0, 1.0 ); const vec4 By = vec4( 2.0, 0.5, -2.0,-0.5 ); const vec4 Cy = vec4( 2.0, 0.0, -1.0, 0.5 ); const vec4 Ci = vec4(0.25, 0.25, 0.25, 0.25); uniform sampler2D sampler0; uniform vec2 u_texelDelta; uniform vec2 u_pixelDelta; varying vec2 v_texcoord0; // Difference between vector components. vec4 df(vec4 A, vec4 B) { return vec4(abs(A-B)); } // Compare two vectors and return their components are different. vec4 diff(vec4 A, vec4 B) { return vec4(notEqual(A, B)); } // Determine if two vector components are equal based on a threshold. vec4 eq(vec4 A, vec4 B) { return (step(df(A, B), eq_threshold)); } // Determine if two vector components are NOT equal based on a threshold. vec4 neq(vec4 A, vec4 B) { return (vec4(1.0, 1.0, 1.0, 1.0) - eq(A, B)); } float c_df(vec3 c1, vec3 c2) { vec3 df = abs(c1 - c2); return df.r + df.g + df.b; } void main() { bool upscale = u_texelDelta.x > (1.6 * u_pixelDelta.x); vec3 res = texture2D(sampler0, v_texcoord0.xy).xyz; // Let's skip the whole scaling if output size smaller than 1.6x of input size if (upscale) { vec4 edri, edr, edr_l, edr_u, px; // px = pixel, edr = edge detection rule vec4 irlv0, irlv1, irlv2l, irlv2u; vec4 fx, fx_l, fx_u; // inequations of straight lines. vec2 pS = 1.0 / u_texelDelta.xy; vec2 fp = fract(v_texcoord0.xy*pS.xy); vec2 TexCoord_0 = v_texcoord0.xy-fp*u_pixelDelta.xy; vec2 dx = vec2(u_texelDelta.x,0.0); vec2 dy = vec2(0.0,u_texelDelta.y); vec2 y2 = dy + dy; vec2 x2 = dx + dx; vec4 delta = vec4(1.0/XBR_SCALE, 1.0/XBR_SCALE, 1.0/XBR_SCALE, 1.0/XBR_SCALE); vec4 delta_l = vec4(0.5/XBR_SCALE, 1.0/XBR_SCALE, 0.5/XBR_SCALE, 1.0/XBR_SCALE); vec4 delta_u = delta_l.yxwz; vec3 A = texture2D(sampler0, TexCoord_0 -dx -dy ).xyz; vec3 B = texture2D(sampler0, Tex
GODS EATER BURST v1.7.5 2019-04-03 Error in shader program link: info: (unknown reason) fs: postshader /* AA shader 4.o / AA shader 4.o - filtro Copyright (C) 2014 guest(r) - [email protected] This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Modified as video aware smoothing effect for PPSSPP. // Some variable definitions had to be moved inside functions(and so repeated) due to glsl->hlsl auto translation failing. // Also auto translation fails with bool uniform, which is why u_video is defined as float. #ifdef GL_ES precision mediump float; precision mediump int; #endif uniform sampler2D sampler0; uniform float u_video; //=========== varying vec2 v_texcoord0; const vec3 dt = vec3(1.0,1.0,1.0); vec3 texture2d (vec2 texcoord) { float scale = 1.0; if (u_video==1.0){ scale = 2.0; } else { scale = 7.0; } vec4 yx = vec4(1.0/480.0,1.0/272.0,-1.0/480.0,-1.0/272.0)/scale; vec4 xy = vec4(2.0/480.0,2.0/272.0,-2.0/480.0,-2.0/272.0)/scale; vec3 s00 = texture2D(sampler0, texcoord + yx.zw).xyz; vec3 s20 = texture2D(sampler0, texcoord + yx.xw).xyz; vec3 s22 = texture2D(sampler0, texcoord + yx.xy).xyz; vec3 s02 = texture2D(sampler0, texcoord + yx.zy).xyz; float m1=dot(abs(s00-s22),dt)+0.001; float m2=dot(abs(s02-s20),dt)+0.001; return 0.5*(m2*(s00+s22)+m1*(s02+s20))/(m1+m2); } vec3 texture2dd (vec2 texcoord) { float scale = 1.0; if (u_video==1.0){ scale = 2.0; } else { scale = 7.0; } vec4 yx = vec4(1.0/480.0,1.0/272.0,-1.0/480.0,-1.0/272.0)/scale; vec4 xy = vec4(2.0/480.0,2.0/272.0,-2.0/480.0,-2.0/272.0)/scale; vec3 c11 = texture2D(sampler0, texcoord ).xyz; vec3 c00 = texture2D(sampler0, texcoord + xy.zw).xyz; vec3 c20 = texture2D(sampler0, texcoord + xy.xw).xyz; vec3 c22 = texture2D(sampler0, texcoord + xy.xy).xyz; vec3 c02 = texture2D(sampler0, texcoord + xy.zy).xyz; vec3 s00 = texture2D(sampler0, texcoord + yx.zw).xyz; vec3 s20 = texture2D(sampler0, texcoord + yx.xw).xyz; vec3 s22 = texture2D(sampler0, texcoord + yx.xy).xyz; vec3 s02 = texture2D(sampler0, texcoord + yx.zy).xyz; float d1=dot(abs(c00-c22),dt)+0.001; float d2=dot(abs(c20-c02),dt)+0.001; float m1=dot(abs(s00-s22),dt)+0.001; float m2=dot(abs(s02-s20),dt)+0.001; vec3 t2=(d1*(c20+c02)+d2*(c00+c22))/(2.0*(d1+d2)); return 0.25*(c11+t2+(m2*(s00+s22)+m1*(s02+s20))/(m1+m2)); } void main() { float scale = 7.0; bool filtro = false; if (u_video==1.0){ scale = 2.0; filtro = true; } else { scale = 7.0; filtro = false; } // Calculating texel coordinates vec2 size = vec2(480.0,272.0)*scale; vec2 inv_size = vec2(1.0/480.0,1.0/272.0)/scale; vec2 OGL2Pos = v_texcoord0 * size; vec2 fp = fract(OGL2Pos); vec2 dx = vec2(inv_size.x,0.0); vec2 dy = vec2(0.0, inv_size.y); vec2 g1 = vec2(inv_size.x,inv_size.y); vec2 g2 = vec2(-inv_size.x,inv_size.y); vec2 pC4 = floor(OGL2Pos) * inv_size + 0.5*inv_size; // Reading the texels vec3 C0 = texture2d(pC4 - g1); vec3 C1 = texture2d(pC4 - dy); vec3 C2 = texture2d(pC4 - g2); vec3 C3 = texture2d(pC4 - dx); vec3 C4 = texture2d(pC4 ); vec3 C5 = texture2d(pC4 + dx); vec3 C6 = texture2d(pC4 + g2); vec3 C7 = texture2d(pC4 + dy); vec3 C8 = texture2d(pC4 + g1); vec3 ul, ur, dl, dr; float m1, m2; m1 = dot(abs(C0-C4),dt)+0.001; m2 = dot(abs(C1-C3),dt)+0.001; ul = (m2
遊☆戯☆王 アーク□ファイブ タッグフォース スペシャル v1.6.3-492-g9fddfff66 2019-04-02 Error in shader program link: info: (unknown reason) fs: 00000000:0001d022 Tex TexAlpha TFuncMod AlphaTest0 > #version 300 es precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; in vec4 v_color0; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; if (v.a < 0.002) discard; fragColor0 = v; } vs: 00000000:0000001a THR C Tex #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
遊☆戯☆王 アーク□ファイブ タッグフォース スペシャル v1.6.3-492-g9fddfff66 2019-04-02 Error in shader program link: info: (unknown reason) fs: 00000000:00000002 Tex TFuncMod #version 300 es precision lowp float; uniform sampler2D tex; in vec4 v_color0; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a); fragColor0 = v; } vs: 00000000:00000012 THR Tex #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
頭文字D STREET STAGE v1.8.0 2019-04-02 Error in shader program link: info: Vertex info ----------- (0) : fatal error C9999: Can't convert to expr: 1f + @TMP0, 1f + @TMP1 fs: 00000000:00200002 Tex Fog TFuncMod #version 330 #define lowp #define mediump #define highp uniform sampler2D tex; in vec4 v_color0; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 00000000:003a0b14 HWX T N Fog Tex UVEnv 2: c:0 t:0 3: c:0 t:0 #version 330 #define lowp #define mediump #define highp in vec3 position; in mediump vec3 normal; in vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos2; uniform vec3 u_lightpos3; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; v_color0 = u_matambientalpha; v_texcoord = vec3(u_uvscaleoffset.xy * vec2(1.0 + (length(u_lightpos2) == 0.0 ? worldnormal.z : dot(normalize(u_lightpos2), worldnormal)), 1.0 + (length(u_lightpos3) == 0.0 ? worldnormal.z : dot(normalize(u_lightpos3), worldnormal))) * 0.5, 1.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; vec3 projPos = outPos.xyz / outPos.w; if (u_cullRangeMin.w <= 0.0 || (projPos.z >= u_cullRangeMin.z && projPos.z <= u_cullRangeMax.z)) { if (projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y || projPos.z < u_cullRangeMin.z || projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y || projPos.z > u_cullRangeMax.z) { outPos.w = u_cullRangeMax.w; } } gl_Position = outPos; }
ACE COMBAT X v1.8.0 2019-04-01 Error in shader program link: info: Vertex info ----------- (0) : fatal error C9999: Can't convert to expr: 1f + @TMP0, 1f + @TMP1 fs: 00000000:09a1d022 Tex TexAlpha Fog 2x StenToAlpha Sten1 TFuncMod AlphaTest0 > #version 330 #define lowp #define mediump #define highp uniform sampler2D tex; uniform sampler2D testtex; in vec4 v_color0; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; v.rgb = clamp(v.rgb * 2.0, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); if (v.a < 0.002) discard; fragColor0 = vec4(v.rgb, 1.0); } vs: 01200000:00160b14 HWX T N Fog Tex UVEnv Light: 1: c:0 t:0 #version 330 #define lowp #define mediump #define highp in vec3 position; in mediump vec3 normal; in vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); vec3 toLight; lowp vec3 diffuse; mediump float ldot; toLight = u_lightpos1; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse); v_color0 = clamp(lightSum0, 0.0, 1.0); v_texcoord = vec3(u_uvscaleoffset.xy * vec2(1.0 + (length(u_lightpos1) == 0.0 ? worldnormal.z : dot(normalize(u_lightpos1), worldnormal)), 1.0 + (length(u_lightpos1) == 0.0 ? worldnormal.z : dot(normalize(u_lightpos1), worldnormal))) * 0.5, 1.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; vec3 projPos = outPos.xyz / outPos.w; if (u_cullRangeMin.w <= 0.0 || (projPos.z >= u_cullRangeMin.z && projPos.z <= u_cullRangeMax.z)) { if (projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y || projPos.z < u_cullRangeMin.z || projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y || projPos.z > u_cullRangeMax.z) { outPos.w = u_cullRangeMax.w; } } gl_Position = outPos; }
Pro Evolution Soccer 2014 v1.7.5 2019-03-31 Error in shader program link: info: Link failed because of invalid vertex shader. fs: postshader //jangan otak atik tanpa izin bro ///////////////////////////////////////////////////////////////// #define warna 1.3 // 1.0 Default #define cerah 1.0 // 1.0 Default #define kontras 1.1 // 1.0 Default #define kemerahan 1.3 // 1.0 Default #define kehijauan 1.3 // 1.0 Default #define kebiruan 1.3 // 1.0 Default //////////////////////////////////////// //MOD Angga Perdana / //fb : Angga Perdana / //////////////////////////////////// #define sugoicolor 1 #ifdef GL_ES precision mediump float; precision mediump int; #endif uniform sampler2D sampler0; uniform vec4 u_time; uniform vec2 u_texelDelta; uniform vec2 u_pixelDelta; varying vec2 v_texcoord0; float overlay(float base, float blend) {float result = 0.0; if( base < 0.5 ) result = 2.0 * base * blend; else result = 1.0 - (1.0 - 2.0*(base-0.5)) * (1.0-blend); return result;} void main() {vec3 color = texture2D(sampler0, v_texcoord0.xy).xyz; #if(sugoicolor==1) float sat = warna; float brt = cerah; float con = kontras; float AvgLumR = kemerahan; float AvgLumG = kehijauan; float AvgLumB = kebiruan; const vec3 LumCoeff = vec3(0.2125, 0.7154, 0.0721); vec3 AvgLumin = vec3(AvgLumR, AvgLumG, AvgLumB); vec3 conRGB = vec3(0.5, 0.5, 0.5); vec3 brtColor = color.rgb * brt; vec3 intensity = vec3((brtColor.r*LumCoeff.r)+(brtColor.g*LumCoeff.g)+(brtColor.b*LumCoeff.b)); vec3 satColor = mix(intensity, brtColor, sat); vec3 conColor = mix(conRGB, satColor, con); vec3 mixColor = AvgLumin * conColor; color.rgb = mixColor; #endif gl_FragColor.xyz=color; gl_FragColor.a = 1.0;} vs: postshader (failed)
DRAGON BALL Z SHIN BUDOKAI 2 v1.6.3-432-gfd6c3145d 2019-03-31 Error in shader program link: info: (unknown reason) fs: 00000000:00000001 Clear (failed) #version 300 es precision lowp float; in vec4 v_color0; out vec4 fragColor0; void main() { vec4 v = v_color0; fragColor0 = v; } vs: 00000000:0000000a THR C (failed) #version 300 es precision highp float; in vec4 position; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; void main() { v_color0 = color0; gl_Position = u_proj_through * vec4(position.xyz, 1.0); }
Resistance: Retribution™ v1.7.2 2019-03-30 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00010000:00a0d822 Tex TexAlpha LM Fog 2x TFuncMod AlphaTest > #version 100 precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; varying vec4 v_color0; varying vec3 v_color1; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; v.rgb = clamp(v.rgb * 2.0, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) v.a = 0.0; gl_FragColor = v; } vs: 01f15555:000e0b1d HWX C T N LM Fog Tex UVEnv Light: 0: c:1 t:1 1: c:1 t:1 2: c:1 t:1 3: c:1 t:1 MatUp:1 (failed) #version 100 precision highp float; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; attribute lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform mediump vec3 u_lightatt0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) li
Resistance: Retribution™ v1.7.2 2019-03-30 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:00a00802 Tex LM Fog 2x TFuncMod #version 100 precision lowp float; uniform sampler2D tex; varying vec4 v_color0; varying vec3 v_color1; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a) + s; v.rgb = clamp(v.rgb * 2.0, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); gl_FragColor = v; } vs: 01f15555:000e0b1d HWX C T N LM Fog Tex UVEnv Light: 0: c:1 t:1 1: c:1 t:1 2: c:1 t:1 3: c:1 t:1 MatUp:1 (failed) #version 100 precision highp float; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; attribute lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform mediump vec3 u_lightatt0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient2 * color
タクティクスオウガ 運命の輪 v1.6.3-492-g9fddfff66 2019-03-30 Error in shader program link: info: (unknown reason) fs: 00000000:00000002 Tex TFuncMod (failed) #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; in vec4 v_color0; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a); fragColor0 = v; } vs: 00000000:00000012 THR Tex (failed) #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
タクティクスオウガ 運命の輪 v1.6.3-492-g9fddfff66 2019-03-30 Error in shader program link: info: (unknown reason) fs: 00000000:00000001 Clear (failed) #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; in vec4 v_color0; out vec4 fragColor0; void main() { vec4 v = v_color0; fragColor0 = v; } vs: 00000000:0000000a THR C (failed) #version 300 es precision highp float; in vec4 position; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; void main() { v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
タクティクスオウガ 運命の輪 v1.6.3-492-g9fddfff66 2019-03-30 Error in shader program link: info: (unknown reason) fs: 00000000:00000000 (failed) #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; in vec4 v_color0; out vec4 fragColor0; void main() { vec4 v = v_color0 ; fragColor0 = v; } vs: 00000000:0000000a THR C (failed) #version 300 es precision highp float; in vec4 position; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; void main() { v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
プロ野球スピリッツ2013 v1.6.3-492-g9fddfff66 2019-03-30 Error in shader program link: info: Link Error: Vertex shader was not successfully compiled. fs: 00000000:00200802 Tex LM Fog TFuncMod #version 100 precision lowp float; uniform sampler2D tex; varying vec4 v_color0; varying vec3 v_color1; uniform vec3 u_fogcolor; varying highp float v_fogdepth; varying highp vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a) + s; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); gl_FragColor = v; } vs: 03f71111:41000b15 HWX T N LM Fog Tex Bones:5 Light: 0: c:1 t:0 1: c:1 t:0 2: c:1 t:0 3: c:1 t:0 MatUp:7 WScale 1 (failed) #version 100 precision highp float; attribute mediump vec4 w1; attribute mediump float w2; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform mat4 u_bone0; uniform mat4 u_bone1; uniform mat4 u_bone2; uniform mat4 u_bone3; uniform mat4 u_bone4; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying highp vec3 v_texcoord; varying highp float v_fogdepth; void main() { mat4 skinMatrix = w1.x * u_bone0 + w1.y * u_bone1 + w1.z * u_bone2 + w1.w * u_bone3 + w2 * u_bone4; vec3 skinnedpos = (skinMatrix * vec4(position, 1.0)).xyz * 1.9921875; vec3 worldpos = (u_world * vec4(skinnedpos, 1.0)).xyz; mediump vec3 skinnednormal = (skinMatrix * vec4(normal, 0.0)).xyz * 1.9921875; mediump vec3 worldnormal = normalize((u_world * vec4(skinnednormal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; mediump float ldot; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos2; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos3; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse3 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular3 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum
プロ野球スピリッツ2013 v1.6.3-492-g9fddfff66 2019-03-30 Error in shader program link: info: Link Error: Vertex shader was not successfully compiled. fs: 00000000:00200022 Tex TexAlpha Fog TFuncMod #version 100 precision lowp float; uniform sampler2D tex; varying vec4 v_color0; uniform vec3 u_fogcolor; varying highp float v_fogdepth; varying highp vec3 v_texcoord; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); gl_FragColor = v; } vs: 03f71111:40c00b14 HWX T N Fog Tex Bones:4 Light: 0: c:1 t:0 1: c:1 t:0 2: c:1 t:0 3: c:1 t:0 MatUp:7 WScale 1 (failed) #version 100 precision highp float; attribute mediump vec4 w1; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform mat4 u_bone0; uniform mat4 u_bone1; uniform mat4 u_bone2; uniform mat4 u_bone3; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying highp vec3 v_texcoord; varying highp float v_fogdepth; void main() { mat4 skinMatrix = w1.x * u_bone0 + w1.y * u_bone1 + w1.z * u_bone2 + w1.w * u_bone3; vec3 skinnedpos = (skinMatrix * vec4(position, 1.0)).xyz * 1.9921875; vec3 worldpos = (u_world * vec4(skinnedpos, 1.0)).xyz; mediump vec3 skinnednormal = (skinMatrix * vec4(normal, 0.0)).xyz * 1.9921875; mediump vec3 worldnormal = normalize((u_world * vec4(skinnednormal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; mediump float ldot; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos2; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos3; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse3 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular3 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient3 * u_matambientalpha.rgb + diffuse); v_color0 = clamp(clamp(lightSum0, 0.0, 1.0) + vec4(lightSum1, 0.0), 0.0, 1.0); v_texcoord = vec3(texcoo