Message #1583151 - Error in shader program link: info: %s fs: %s %s vs: %s %s

Kind #967: Error in shader program link: info: %s fs: %s %s vs: %s %s

Game: God of War®: Ghost of Sparta (UCUS98737_2.00)

Error in shader program link: info: Fragment shader(s) failed to link,  vertex shader(s) linked. 
 
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  = v

Status: new. 1 hits from 2020-07-01 13:13:27 to 2020-07-01 13:13:27 UTC. Message #1583151.

Individual reports are stored since 2026-11-12, the newest 100 per message; none for this message yet. Older hits only exist as the counters above. Hover a cell for details.