Messages by text - Error in shader program link: info: %s fs: %s %s vs: %s %s

Distinct message texts 1-100, most hits first. Games and Rows count where each text was seen; click a text for its games. Refreshed every 10 minutes. Back to the list by game

Only count reports from version or newer
Message # of games Rows Hits Latest Report
Error in shader program link: info: cannot find a matched output for input v_texcoordNC0 cannot find a matched output for input v_texcoordNC1 cannot find a matched output for input v_texcoordNC2 cannot find a matched output for input v_texcoordNC3 fs: postshader #ifdef GL_ES precision mediump float; #endif //Note : Recommend to use PPSSPP v1.1.1-183-gb411fc0 or newer for full functionality, there were some bugs in earlier versions. //Note2 : Upscaling, smoothing and sharpening filters are not set to be mixed between each other since the results are pointless(they counter each other). // Awas ngelag! :u //====================================================================================================================================================================== //SMOOTHING FILTERS: //If you love smooth graphics ~ those are also great for downscaling - to do that, you need to use higher rendering res than your display res //================ #define FXAA 1 //ON:1/OFF:0 /default FXAA, orginal info below //================ #define GAUSS_SQ 0 //ON:1/OFF:0 /full square gauss filtering #define Gsmoothing 2.5 //Default: 3.5 /increase for smoother(blurry) graphics //================ #define GAUSS_S 0 //ON:1/OFF:0 /simple gauss filtering by Bigpet, slightly different from above /you can find standalone in https://github.com/hrydgard/ppsspp/issues/7242 //================ //SHARPENING FILTERS: //if you need very sharp image, add lots of aliasing //================ #define SHARPEN 0 //ON:1/OFF:0 /a simple sharpen filter, might be counterproductive to FXAA and BLOOM, hence disabled by default #define value 0.98 //Default: 7.5 /higher = more visible effect //================ #define S_COM_V2 0 //Sharpen Complex v2 from https://github.com/mpc-hc similar to above in effect, maybe more accurate #define S_val0 5.0 //Default: 5.0 /higher ~ increases sharpness /negative ~ can add extra blurr/strange effect //================ //UPSCALING FILTERS: //To use those, you have to set rendering res to smaller than window/display size(x1 for best results) and screen scaling filter to "nearest" //Starting from v1.1.1-28-g70e9979 you can also add Upscaling=True to ini file(check example) to do it automatically //================ #define xBR 1 //ON:1/OFF:0 /5xBR upscale, nice for 2D games especially those that might be buggy with higher rendering res, initially made by Hyllian - license below #define VariantB 0 //ON:1/OFF:0 /slightly less effect on fonts, dots and other small details //================ #define xHQ 0 //ON:1/OFF:0 same as 4xHQ in PPSSPP, but actually using output resolution #define scaleoffset 0.75 //Default: 0.75 /you can tweek it between 0.5 and 1.0, Note: to little = no effect, to high = ugliness //================ //OTHER FILTERS: //Most effects from here on can be fully mixed without loosing previous effects. Exceptions: Natural Colors, Advanced Cartoon //================ #define BLOOM 0 //ON:1/OFF:0 /bloom implementation from "my heroics" blog http://myheroics.wordpress.com/2008/09/04/glsl-bloom-shader/ #define KIMOCHI 1 //Senpai! #define samples 3 //Default: 4 /higher = more glow, worse performance #define quality 0.22 //Default: 0.18 /lower = smaller glow, better quality #define Bpower 1.0 //Default: 1.0 /amount of bloom mixed //================ #define COLORED 1 //ON:1/OFF:0 /coloring part of KrossX Overlay Bloom shader from here http://www.mediafire.com/krossx#ste5pa5ijfa0o #define Cpower 0.69 //Default: 0.5 /strenght of the effect //================ #define NATURALC 0 //ON:1/OFF:0 /by popular demand, natular colors, note: this shader can't be fully mixed with smoothing/sharpening/upscaling effects #define ncpower 0.5 //Default:0.5 / higher = more natural color, check note line above //================ #define ACARTOON 0 //ON:1/OFF:0 Advanced Cartoon from Guest 44 44 218 2026-08-26
Error in shader program link: info: Variable u_texelDelta has unmatched precision qualifier in different shaders fs: postshader #version 320 es precision mediump float; precision highp int; uniform vec2 u_texelDelta; uniform vec2 u_pixelDelta; layout(binding = 0) uniform mediump sampler2D sampler0; uniform vec4 u_time; in vec2 v_texcoord0; out vec4 _RESERVED_IDENTIFIER_FIXUP_gl_FragColor; in vec4 v_texcoordNC0; in vec4 v_texcoordNC1; in vec4 v_texcoordNC2; in vec4 v_texcoordNC3; mediump int SEPIA; mediump int GRAYSCALE; mediump int NEGATIVE; mediump int PSPCOLORS; bvec4 _and_(bvec4 A, bvec4 B) { return bvec4(A.x && B.x, A.y && B.y, A.z && B.z, A.w && B.w); } vec4 df(vec4 A, vec4 B) { return abs(A - B); } bvec4 close(vec4 A, vec4 B) { vec4 param = A; vec4 param_1 = B; return lessThan(df(param, param_1), vec4(15.0)); } bvec4 _or_(bvec4 A, bvec4 B) { return bvec4(A.x || B.x, A.y || B.y, A.z || B.z, A.w || B.w); } vec4 weighted_distance(vec4 a, vec4 b, vec4 c, vec4 d, vec4 e, vec4 f, vec4 g, vec4 h) { vec4 param = a; vec4 param_1 = b; vec4 param_2 = a; vec4 param_3 = c; vec4 param_4 = d; vec4 param_5 = e; vec4 param_6 = d; vec4 param_7 = f; vec4 param_8 = g; vec4 param_9 = h; return (((df(param, param_1) + df(param_2, param_3)) + df(param_4, param_5)) + df(param_6, param_7)) + (df(param_8, param_9) * 4.0); } vec3 processxBR(vec3 color) { vec2 pS = vec2(1.0) / u_texelDelta; vec2 fp = fract(v_texcoord0 * pS); vec2 TexCoord_0 = v_texcoord0 - (fp * u_pixelDelta); 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 = texture(sampler0, (TexCoord_0 - dx) - dy).xyz; vec3 B = texture(sampler0, TexCoord_0 - dy).xyz; vec3 C = texture(sampler0, (TexCoord_0 + dx) - dy).xyz; vec3 D = texture(sampler0, TexCoord_0 - dx).xyz; vec3 E = texture(sampler0, TexCoord_0).xyz; vec3 F = texture(sampler0, TexCoord_0 + dx).xyz; vec3 G = texture(sampler0, (TexCoord_0 - dx) + dy).xyz; vec3 H = texture(sampler0, TexCoord_0 + dy).xyz; vec3 I = texture(sampler0, (TexCoord_0 + dx) + dy).xyz; vec3 A1 = texture(sampler0, (TexCoord_0 - dx) - y2).xyz; vec3 C1 = texture(sampler0, (TexCoord_0 + dx) - y2).xyz; vec3 A0 = texture(sampler0, (TexCoord_0 - x2) - dy).xyz; vec3 G0 = texture(sampler0, (TexCoord_0 - x2) + dy).xyz; vec3 C4 = texture(sampler0, (TexCoord_0 + x2) - dy).xyz; vec3 I4 = texture(sampler0, (TexCoord_0 + x2) + dy).xyz; vec3 G5 = texture(sampler0, (TexCoord_0 - dx) + y2).xyz; vec3 I5 = texture(sampler0, (TexCoord_0 + dx) + y2).xyz; vec3 B1 = texture(sampler0, TexCoord_0 - y2).xyz; vec3 D0 = texture(sampler0, TexCoord_0 - x2).xyz; vec3 H5 = texture(sampler0, TexCoord_0 + y2).xyz; vec3 F4 = texture(sampler0, TexCoord_0 + x2).xyz; vec4 b = vec4(dot(B, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(D, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(H, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(F, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375))); vec4 c = vec4(dot(C, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(A, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(G, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(I, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375))); vec4 d = vec4(b.y, b.z, b.w, b.x); vec4 e = vec4(dot(E, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375))); 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, c.x, c.y, c.z); vec4 i4 = vec4(dot(I4, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(C1, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)) 66 66 208 2026-08-10
Error in shader program link: info: (unknown reason) fs: postshader #ifdef GL_ES precision mediump float; #endif /* 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 - 7 7 183 2025-04-11
Error in shader program link: info: Link failed because of missing shader. fs: thin3d vs: thin3d 7 7 143 2023-03-19
Error in shader program link: info: Error: Uniform u_texelDelta precision mismatch with other stage. Error: Linking failed. fs: postshader #version 320 es precision mediump float; precision highp int; uniform vec2 u_texelDelta; uniform vec2 u_pixelDelta; layout(binding = 0) uniform mediump sampler2D sampler0; uniform vec4 u_time; in vec2 v_texcoord0; out vec4 _RESERVED_IDENTIFIER_FIXUP_gl_FragColor; in vec4 v_texcoordNC0; in vec4 v_texcoordNC1; in vec4 v_texcoordNC2; in vec4 v_texcoordNC3; mediump int SEPIA; mediump int GRAYSCALE; mediump int NEGATIVE; mediump int PSPCOLORS; bvec4 _and_(bvec4 A, bvec4 B) { return bvec4(A.x && B.x, A.y && B.y, A.z && B.z, A.w && B.w); } vec4 df(vec4 A, vec4 B) { return abs(A - B); } bvec4 close(vec4 A, vec4 B) { vec4 param = A; vec4 param_1 = B; return lessThan(df(param, param_1), vec4(15.0)); } bvec4 _or_(bvec4 A, bvec4 B) { return bvec4(A.x || B.x, A.y || B.y, A.z || B.z, A.w || B.w); } vec4 weighted_distance(vec4 a, vec4 b, vec4 c, vec4 d, vec4 e, vec4 f, vec4 g, vec4 h) { vec4 param = a; vec4 param_1 = b; vec4 param_2 = a; vec4 param_3 = c; vec4 param_4 = d; vec4 param_5 = e; vec4 param_6 = d; vec4 param_7 = f; vec4 param_8 = g; vec4 param_9 = h; return (((df(param, param_1) + df(param_2, param_3)) + df(param_4, param_5)) + df(param_6, param_7)) + (df(param_8, param_9) * 4.0); } vec3 processxBR(vec3 color) { vec2 pS = vec2(1.0) / u_texelDelta; vec2 fp = fract(v_texcoord0 * pS); vec2 TexCoord_0 = v_texcoord0 - (fp * u_pixelDelta); 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 = texture(sampler0, (TexCoord_0 - dx) - dy).xyz; vec3 B = texture(sampler0, TexCoord_0 - dy).xyz; vec3 C = texture(sampler0, (TexCoord_0 + dx) - dy).xyz; vec3 D = texture(sampler0, TexCoord_0 - dx).xyz; vec3 E = texture(sampler0, TexCoord_0).xyz; vec3 F = texture(sampler0, TexCoord_0 + dx).xyz; vec3 G = texture(sampler0, (TexCoord_0 - dx) + dy).xyz; vec3 H = texture(sampler0, TexCoord_0 + dy).xyz; vec3 I = texture(sampler0, (TexCoord_0 + dx) + dy).xyz; vec3 A1 = texture(sampler0, (TexCoord_0 - dx) - y2).xyz; vec3 C1 = texture(sampler0, (TexCoord_0 + dx) - y2).xyz; vec3 A0 = texture(sampler0, (TexCoord_0 - x2) - dy).xyz; vec3 G0 = texture(sampler0, (TexCoord_0 - x2) + dy).xyz; vec3 C4 = texture(sampler0, (TexCoord_0 + x2) - dy).xyz; vec3 I4 = texture(sampler0, (TexCoord_0 + x2) + dy).xyz; vec3 G5 = texture(sampler0, (TexCoord_0 - dx) + y2).xyz; vec3 I5 = texture(sampler0, (TexCoord_0 + dx) + y2).xyz; vec3 B1 = texture(sampler0, TexCoord_0 - y2).xyz; vec3 D0 = texture(sampler0, TexCoord_0 - x2).xyz; vec3 H5 = texture(sampler0, TexCoord_0 + y2).xyz; vec3 F4 = texture(sampler0, TexCoord_0 + x2).xyz; vec4 b = vec4(dot(B, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(D, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(H, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(F, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375))); vec4 c = vec4(dot(C, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(A, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(G, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(I, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375))); vec4 d = vec4(b.y, b.z, b.w, b.x); vec4 e = vec4(dot(E, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375))); 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, c.x, c.y, c.z); vec4 i4 = vec4(dot(I4, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(C1, vec3(16.1630001068115234375, 23.3509998321533203125, 8.4771995544 34 34 104 2026-01-20
Error in shader program link: info: L0001 The fragment floating-point variable u_texelDelta does not match the vertex variable u_texelDelta. The precision does not match. fs: postshader #version 320 es precision mediump float; precision highp int; uniform vec2 u_pixelDelta; layout(binding = 0) uniform mediump sampler2D sampler0; uniform vec4 u_time; uniform vec2 u_texelDelta; in vec2 v_texcoord0; out vec4 _RESERVED_IDENTIFIER_FIXUP_gl_FragColor; in vec4 v_texcoordNC0; in vec4 v_texcoordNC1; in vec4 v_texcoordNC2; in vec4 v_texcoordNC3; mediump int SEPIA; mediump int GRAYSCALE; mediump int NEGATIVE; mediump int PSPCOLORS; vec3 processGAUSS_S(inout vec3 color) { float GAUSSS_SPAN_MAX = 1.5; float GAUSSS_KERNEL_SIZE = 5.0; vec2 offsetS = (u_pixelDelta * GAUSSS_SPAN_MAX) / vec2(GAUSSS_KERNEL_SIZE); vec3 cGaussS0 = texture(sampler0, v_texcoord0 + (offsetS * vec2(0.0, -2.0))).xyz * 1.0; vec3 cGaussS1 = texture(sampler0, v_texcoord0 + (offsetS * vec2(-1.0))).xyz * 3.0; vec3 cGaussS2 = texture(sampler0, v_texcoord0 + (offsetS * vec2(0.0, -1.0))).xyz * 8.0; vec3 cGaussS3 = texture(sampler0, v_texcoord0 + (offsetS * vec2(1.0, -1.0))).xyz * 3.0; vec3 cGaussS4 = texture(sampler0, v_texcoord0 + (offsetS * vec2(-2.0, 0.0))).xyz * 1.0; vec3 cGaussS5 = texture(sampler0, v_texcoord0 + (offsetS * vec2(-1.0, 0.0))).xyz * 8.0; vec3 cGaussS6 = texture(sampler0, v_texcoord0 + (offsetS * vec2(0.0))).xyz * 10.0; vec3 cGaussS7 = texture(sampler0, v_texcoord0 + (offsetS * vec2(1.0, 0.0))).xyz * 8.0; vec3 cGaussS8 = texture(sampler0, v_texcoord0 + (offsetS * vec2(2.0, 0.0))).xyz * 1.0; vec3 cGaussS9 = texture(sampler0, v_texcoord0 + (offsetS * vec2(-1.0, 1.0))).xyz * 3.0; vec3 cGaussS10 = texture(sampler0, v_texcoord0 + (offsetS * vec2(0.0, 1.0))).xyz * 8.0; vec3 cGaussS11 = texture(sampler0, v_texcoord0 + (offsetS * vec2(1.0))).xyz * 3.0; vec3 cGaussS12 = texture(sampler0, v_texcoord0 + (offsetS * vec2(0.0, 2.0))).xyz * 1.0; color = (((((((((((cGaussS0 + cGaussS1) + cGaussS2) + cGaussS3) + cGaussS4) + cGaussS5) + cGaussS6) + cGaussS7) + cGaussS8) + cGaussS9) + cGaussS10) + cGaussS11) + cGaussS12; color /= vec3(58.0); return color; } vec3 processSHADEBOOST(inout vec3 color) { float sat = 1.89999997615814208984375; float brt = 0.699999988079071044921875; float con = 1.2000000476837158203125; float AvgLumR = 1.5; float AvgLumG = 1.5; float AvgLumB = 1.5; if (SEPIA == 1) { sat = 0.00999999977648258209228515625; brt = 1.75; con = 1.0; AvgLumR = 0.439999997615814208984375; AvgLumG = 0.2599999904632568359375; AvgLumB = 0.07999999821186065673828125; } if (GRAYSCALE == 1) { sat = 0.0; brt = 1.0; con = 1.0; AvgLumR = 1.0; AvgLumG = 1.0; AvgLumB = 1.0; } if (NEGATIVE == 1) { sat = 1.0; brt = 1.0; con = -1.0; AvgLumR = 1.0; AvgLumG = 1.0; AvgLumB = 1.0; } if (PSPCOLORS == 1) { sat = 1.0; brt = 1.0; con = 1.0; AvgLumR = 0.959299981594085693359375; AvgLumG = 1.0738999843597412109375; AvgLumB = 1.46039998531341552734375; } vec3 AvgLumin = vec3(AvgLumR, AvgLumG, AvgLumB); vec3 conRGB = vec3(0.5); vec3 brtColor = color * brt; vec3 intensity = vec3(((brtColor.x * 0.2125000059604644775390625) + (brtColor.y * 0.7153999805450439453125)) + (brtColor.z * 0.07209999859333038330078125)); vec3 satColor = mix(intensity, brtColor, vec3(sat)); vec3 conColor = mix(conRGB, satColor, vec3(con)); vec3 mixColor = AvgLumin * conColor; color = mixColor; return color; } void main() { SEPIA = 0; GRAYSCALE = 0; NEGATIVE = 0; PSPCOLORS = 5; vec3 color = texture(sampler0, v_texcoord0).xyz; vec3 param = color; vec3 _311 = processGAUSS_S(param); color = _311; vec3 param_1 = color; vec3 _314 = processSHADEBOOST(param_1); color = _314; _RESERVED_IDENTIFIER_FIXUP_gl_Fr 12 12 96 2025-05-09
Error in shader program link: info: Vertex info ----------- (0) : fatal error C9999: Can't convert to expr: 1f + @TMP0, 1f + @TMP1 fs: 00002a82:00800802 Tex LM 2x ReplaceBlend_2A:10_B:10_Eq:0 TFuncMod #version 330 #define lowp #define mediump #define highp uniform sampler2D tex; uniform vec3 u_blendFixA; uniform vec3 u_blendFixB; 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 = clamp(v.rgb * 2.0, 0.0, 1.0); v.rgb = v.rgb * u_blendFixA; fragColor0 = v; } vs: 01370000:00120b11 HWX T N LM Tex UVEnv Light: 0: c:0 t:0 1: c:0 t:0 MatUp:7 #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_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_cullRangeMin; uniform highp vec4 u_cullRangeMax; 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); 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_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_color1 = vec3(0.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.xyzw = vec4(u_cullRangeMax.w); } } gl_Position = outPos; } 3 3 94 2020-09-21
Error in shader program link: info: Vertex info ----------- (0) : fatal error C9999: Can't convert to expr: 1f + @TMP0, 1f + @TMP1 fs: 00002a82:00800822 Tex TexAlpha LM 2x ReplaceBlend_2A:10_B:10_Eq:0 TFuncMod #version 330 #define lowp #define mediump #define highp uniform sampler2D tex; uniform vec3 u_blendFixA; uniform vec3 u_blendFixB; 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 = clamp(v.rgb * 2.0, 0.0, 1.0); v.rgb = v.rgb * u_blendFixA; fragColor0 = v; } vs: 01370000:00120b11 HWX T N LM Tex UVEnv Light: 0: c:0 t:0 1: c:0 t:0 MatUp:7 #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_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_cullRangeMin; uniform highp vec4 u_cullRangeMax; 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); 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_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_color1 = vec3(0.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.xyzw = vec4(u_cullRangeMax.w); } } gl_Position = outPos; } 2 2 87 2020-09-21
Error in shader program link: info: Vertex info ----------- (0) : fatal error C9999: Can't convert to expr: 1f + @TMP0, 1f + @TMP1 fs: 00002a82:00000802 Tex LM ReplaceBlend_2A:10_B:10_Eq:0 TFuncMod #version 330 #define lowp #define mediump #define highp uniform sampler2D tex; uniform vec3 u_blendFixA; uniform vec3 u_blendFixB; 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 * u_blendFixA; fragColor0 = v; } vs: 01370000:00120b11 HWX T N LM Tex UVEnv Light: 0: c:0 t:0 1: c:0 t:0 MatUp:7 #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_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_cullRangeMin; uniform highp vec4 u_cullRangeMax; 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); 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_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_color1 = vec3(0.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.xyzw = vec4(u_cullRangeMax.w); } } gl_Position = outPos; } 2 2 86 2020-09-21
Error in shader program link: info: Vertex info ----------- (0) : fatal error C9999: Can't convert to expr: 1f + @TMP0, 1f + @TMP1 fs: 00002a82:00800802 Tex LM 2x ReplaceBlend_2A:10_B:10_Eq:0 TFuncMod #version 330 #define lowp #define mediump #define highp uniform sampler2D tex; uniform vec3 u_blendFixA; uniform vec3 u_blendFixB; 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 = clamp(v.rgb * 2.0, 0.0, 1.0); v.rgb = v.rgb * u_blendFixA; fragColor0 = v; } vs: 01370000:00120311 HWX N LM Tex UVEnv Light: 0: c:0 t:0 1: c:0 t:0 MatUp:7 #version 330 #define lowp #define mediump #define highp in vec3 position; in mediump vec3 normal; 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 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; 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); 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_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_color1 = vec3(0.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.xyzw = vec4(u_cullRangeMax.w); } } gl_Position = outPos; } 1 1 82 2020-09-21
Error in shader program link: info: Vertex info ----------- (0) : fatal error C9999: Can't convert to expr: 1f + @TMP0, 1f + @TMP1 fs: 00002a82:00000002 Tex ReplaceBlend_2A:10_B:10_Eq:0 TFuncMod #version 330 #define lowp #define mediump #define highp uniform sampler2D tex; uniform vec3 u_blendFixA; uniform vec3 u_blendFixB; 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 * u_blendFixA; fragColor0 = v; } vs: 00000000:00120b10 HWX T N Tex UVEnv 0: c:0 t:0 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_lightpos0; uniform vec3 u_lightpos1; 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; 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_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.xyzw = vec4(u_cullRangeMax.w); } } gl_Position = outPos; } 1 1 79 2020-09-21
Error in shader program link: info: Vertex info ----------- (0) : fatal error C9999: Can't convert to expr: 1f + @TMP0, 1f + @TMP1 fs: 00002a82:00000022 Tex TexAlpha ReplaceBlend_2A:10_B:10_Eq:0 TFuncMod #version 330 #define lowp #define mediump #define highp uniform sampler2D tex; uniform vec3 u_blendFixA; uniform vec3 u_blendFixB; 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; v.rgb = v.rgb * u_blendFixA; fragColor0 = v; } vs: 00000000:00120310 HWX N Tex UVEnv 0: c:0 t:0 1: c:0 t:0 #version 330 #define lowp #define mediump #define highp in vec3 position; in mediump vec3 normal; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform vec3 u_lightpos1; 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; 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_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.xyzw = vec4(u_cullRangeMax.w); } } gl_Position = outPos; } 1 1 77 2020-09-21
Error in shader program link: info: (unknown reason) fs: postshader #ifdef GL_ES precision mediump float; #endif /* 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 = vec 13 13 66 2025-11-30
Error in shader program link: info: cannot find a matched output for input v_texcoordNC0 cannot find a matched output for input v_texcoordNC1 cannot find a matched output for input v_texcoordNC2 cannot find a matched output for input v_texcoordNC3 fs: postshader //Note : Recommend to use PPSSPP v1.1.1-183-gb411fc0 or newer for full functionality, there were some bugs in earlier versions. //Note2 : Upscaling, smoothing and sharpening filters are not set to be mixed between each other since the results are pointless(they counter each other). // Awas ngelag! :u //====================================================================================================================================================================== //SMOOTHING FILTERS: //If you love smooth graphics ~ those are also great for downscaling - to do that, you need to use higher rendering res than your display res //================ #define FXAA 1 //ON:1/OFF:0 /default FXAA, orginal info below //================ #define GAUSS_SQ 0 //ON:1/OFF:0 /full square gauss filtering #define Gsmoothing 2.5 //Default: 3.5 /increase for smoother(blurry) graphics //================ #define GAUSS_S 0 //ON:1/OFF:0 /simple gauss filtering by Bigpet, slightly different from above /you can find standalone in https://github.com/hrydgard/ppsspp/issues/7242 //================ //SHARPENING FILTERS: //if you need very sharp image, add lots of aliasing //================ #define SHARPEN 0 //ON:1/OFF:0 /a simple sharpen filter, might be counterproductive to FXAA and BLOOM, hence disabled by default #define value 0.98 //Default: 7.5 /higher = more visible effect //================ #define S_COM_V2 0 //Sharpen Complex v2 from https://github.com/mpc-hc similar to above in effect, maybe more accurate #define S_val0 5.0 //Default: 5.0 /higher ~ increases sharpness /negative ~ can add extra blurr/strange effect //================ //UPSCALING FILTERS: //To use those, you have to set rendering res to smaller than window/display size(x1 for best results) and screen scaling filter to "nearest" //Starting from v1.1.1-28-g70e9979 you can also add Upscaling=True to ini file(check example) to do it automatically //================ #define xBR 1 //ON:1/OFF:0 /5xBR upscale, nice for 2D games especially those that might be buggy with higher rendering res, initially made by Hyllian - license below #define VariantB 0 //ON:1/OFF:0 /slightly less effect on fonts, dots and other small details //================ #define xHQ 0 //ON:1/OFF:0 same as 4xHQ in PPSSPP, but actually using output resolution #define scaleoffset 0.75 //Default: 0.75 /you can tweek it between 0.5 and 1.0, Note: to little = no effect, to high = ugliness //================ //OTHER FILTERS: //Most effects from here on can be fully mixed without loosing previous effects. Exceptions: Natural Colors, Advanced Cartoon //================ #define BLOOM 0 //ON:1/OFF:0 /bloom implementation from "my heroics" blog http://myheroics.wordpress.com/2008/09/04/glsl-bloom-shader/ #define KIMOCHI 1 //Senpai! #define samples 3 //Default: 4 /higher = more glow, worse performance #define quality 0.22 //Default: 0.18 /lower = smaller glow, better quality #define Bpower 1.0 //Default: 1.0 /amount of bloom mixed //================ #define COLORED 1 //ON:1/OFF:0 /coloring part of KrossX Overlay Bloom shader from here http://www.mediafire.com/krossx#ste5pa5ijfa0o #define Cpower 0.69 //Default: 0.5 /strenght of the effect //================ #define NATURALC 0 //ON:1/OFF:0 /by popular demand, natular colors, note: this shader can't be fully mixed with smoothing/sharpening/upscaling effects #define ncpower 0.5 //Default:0.5 / higher = more natural color, check note line above //================ #define ACARTOON 0 //ON:1/OFF:0 Advanced Cartoon from Guest shader pack #define th 0.10 //D 13 13 60 2025-07-17
Error in shader program link: info: (unknown reason) fs: postshader #ifdef GL_ES precision mediump float; #endif /* 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 13 13 60 2025-04-24
Error in shader program link: info: ERROR: 0:456: 'mix' : no matching overloaded function found ERROR: 0:456: 'assign' : cannot convert from 'const float' to '3-component vector of float' ERROR: 2 compilation errors. No code generated. fs: postshader // PPSSPP: Grabbed from Processing and slightly modified. // FXAA shader, GLSL code adapted from: // http://horde3d.org/wiki/index.php5?title=Shading_Technique_-_FXAA // Whitepaper describing the technique: // http://developer.download.nvidia.com/assets/gamedev/files/sdk/11/FXAA_WhitePaper.pdf //====================================================================================================================================================================== //Extra options: #define FXAA 0 //ON:1/OFF:0 /default FXAA, info above //there's no extra config for fxaa here since from what I checked this simple fxaa version offers only more blur or less aa;c, you can check it yourself below //================ #define GAUSS_SQ 0 //ON:1/OFF:0 /full square gauss filtering, don't use with either FXAA nor sharpen filters #define Gsmoothing 3.5 //Default: 3.5 /increase for smoother(blurry) graphics //================ #define GAUSS_S 0 //ON:1/OFF:0 /simple gauss filtering by Bigpet, slightly different from above /you can find standalone in https://github.com/hrydgard/ppsspp/issues/7242 //================ #define MIKU 0 //Hatsune<3 this is an optional filter for all those pale anime faces which get white with bloom/colored:P tested on Miku in white dress //================ #define BLOOM 0 //ON:1/OFF:0 /bloom implementation from "my heroics" blog http://myheroics.wordpress.com/2008/09/04/glsl-bloom-shader/ #define samples 4 //Default: 4 /higher = more glow, worser performance #define quality 0.25 //Default: 0.25 /lower = smaller glow, better quality #define factor 0.002 //Default: 0.002 /just an extra tweak for the bloom slightly higher values might look better in some cases, but too much can cause artifacts #define Bpower 0.5 //Default: 0.5 /amount of bloom mixed //================ #define COLORED 1 //ON:1/OFF:0 /coloring part of KrossX Overlay Bloom shader from here http://www.mediafire.com/krossx#ste5pa5ijfa0o #define Cpower 0.3 //Default: 0.5 /amount of effect mixed //================ #define SHARPEN 0 //ON:1/OFF:0 /a simple sharpen filter, might be counterproductive to FXAA and BLOOM, hence disabled by default #define value 7.5 //Default: 7.5 /higher = more visible effect //================ #define S_COM_V2 0 //Sharpen Complex v2 from https://github.com/mpc-hc similar to above in effect, maybe more accurate #define S_val0 5.0 //Default: 5.0 /higher ~ increases sharpness /negative ~ can add extra blurr/strange effect //================ #define SHADEBOOST 1 //ON:1/OFF:0 /color correction from GSdx/pcsx2 plugin, initially taken from http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=21057 #define saturation 1.1 //Default: 1.0 //negative will look like inverted colors shader #define brightness 2.5 //Default: 1.0 #define contrast 1.23 //Default: 1.0 //negative will be... well negative;p #define red 0.55 //Default: 1.0 #define green 0.55 //Default: 1.0 #define blue 0.55 //Default: 1.0 //Shadeboost presets: //Shadeboost must be activated, presets override options above int SEPIA = 0; //Moody coolors:) int GRAYSCALE = 0; //Just for lols? int NEGATIVE = 0; //As above int PSPCOLORS = 0; //Makes the colors as on older PSP screens(colder) //All presets are simple switch ON:1/OFF:0, //================ #define GAMMA 1 //simple gamma function after reading http://filmicgames.com/archives/299 #define correction 1.2 //Default: 1.0 //================ #define SCANLINES 0 //Ugly lines which never existed on psp, yet are popular among some people(I had to, sorry:P) #define SLsize 1 //Default: 1 /basically sets how wide each line is, from 1 to looks_weird_when_too_hig 6 6 53 2026-03-01
Error in shader program link: info: Link failed because of missing vertex shader. fs: 00000000:00200022 Tex TexAlpha Fog TFuncMod #version 300 es #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; 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 = v; } vs: 00000000:0000091c HWX C T Fog Tex #version 300 es precision highp float; in vec3 position; 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; 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 = vec3(0.0, 0.0, 1.0); 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); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; } 17 17 52 2026-10-31
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 #extension GL_EXT_gpu_shader4 : enable // GeForce 210/PCI/SSE2 - GLSL 330 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; in lowp 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:00120b30 HWX T N Tex UVEnv 0: c:0 t:0 1: c:0 t:0 Cull #version 330 #extension GL_EXT_gpu_shader4 : enable // GeForce 210/PCI/SSE2 - GLSL 330 #define gl_VertexIndex gl_VertexID #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) 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 vec3 u_lightpos1; 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; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); v_color0 = u_matambientalpha; 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.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; } 1 1 47 2022-07-09
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 #extension GL_EXT_gpu_shader4 : enable // GeForce 210/PCI/SSE2 - GLSL 330 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; in lowp 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:00120b34 HWX T N Fog Tex UVEnv 0: c:0 t:0 1: c:0 t:0 Cull #version 330 #extension GL_EXT_gpu_shader4 : enable // GeForce 210/PCI/SSE2 - GLSL 330 #define gl_VertexIndex gl_VertexID #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) 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 vec3 u_lightpos1; 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; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); v_color0 = u_matambientalpha; 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); 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.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; } 2 2 45 2022-07-09
Error in shader program link: info: Link Error: Vertex shader is missing. fs: 00000000:00200022 Tex TexAlpha Fog TFuncMod #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; in vec4 v_color0; uniform vec3 u_fogcolor; in highp float v_fogdepth; in highp vec3 v_texcoord; inout vec4 fragColor0; 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 = v; } vs: 00000000:0000091c HWX C T Fog Tex #version 300 es precision highp float; in vec3 position; 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; out lowp vec4 v_color0; out highp vec3 v_texcoord; out highp float v_fogdepth; 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 = color0; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; } 17 17 41 2026-10-31
Error in shader program link: info: Link failed because of missing vertex shader. fs: 00004000:00200022 Tex TexAlpha Fog Flat TFuncMod #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; flat in vec4 v_color0; uniform vec3 u_fogcolor; in mediump float v_fogdepth; 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 fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 40000000:00000914 HWX T Fog Tex Flat #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; uniform highp vec2 u_fogcoef; flat 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 = 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); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; } 18 18 39 2026-10-02
Error in shader program link: info: Link failed because of missing vertex shader. fs: 00004000:00200022 Tex TexAlpha Fog Flat TFuncMod #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; flat 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; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 40000000:00000914 HWX T Fog Tex Flat #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; uniform highp vec2 u_fogcoef; flat 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 = 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); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; } 12 12 38 2026-08-11
Error in shader program link: info: Link Error: Fragment shader is missing. fs: thin3d #ifdef GL_ES precision mediump float; #endif #ifdef GL_ES precision lowp float; #endif #if __VERSION__ >= 130 #define varying in #define texture2D texture #define gl_FragColor fragColor0 out vec4 fragColor0; #endif varying vec4 oColor0; varying vec2 oTexCoord0; uniform sampler2D Sampler0; void main() { gl_FragColor = texture2D(Sampler0, oTexCoord0).zyxw * oColor0; } 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; } 21 21 38 2024-09-15
Error in shader program link: info: Link Error: Fragment shader is missing. fs: thin3d #version 320 es #ifdef GL_ES precision mediump float; #endif #ifdef GL_ES precision lowp float; #endif #if __VERSION__ >= 130 #define varying in #define texture2D texture #define gl_FragColor fragColor0 out vec4 fragColor0; #endif varying vec4 oColor0; varying vec2 oTexCoord0; uniform sampler2D Sampler0; void main() { vec4 col = texture2D(Sampler0, oTexCoord0).zyxw * oColor0; col.rgb *= oColor0.a; gl_FragColor = col; } vs: thin3d #version 320 es #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; uniform vec2 TintSaturation; vec3 rgb2hsv(vec3 c) { vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g)); vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r)); float d = q.x - min(q.w, q.y); float e = 1.0e-10; return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); } vec3 hsv2rgb(vec3 c) { vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www); return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); } void main() { gl_Position = WorldViewProj * vec4(Position, 1.0); vec3 hsv = rgb2hsv(Color0.xyz); hsv.x += TintSaturation.x; hsv.y *= TintSaturation.y; oColor0 = vec4(hsv2rgb(hsv), Color0.w); oTexCoord0 = TexCoord0; } 3 3 36 2026-01-26
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.xyzw = vec4(u_cullRangeMax.w); } } gl_Position = outPos; } 2 2 35 2022-03-13
Error in shader program link: info: Error: input v_texcoordNC0 not declared in output from previous stage. Error: Linking failed. fs: postshader //Note : Recommend to use PPSSPP v1.1.1-183-gb411fc0 or newer for full functionality, there were some bugs in earlier versions. //Note2 : Upscaling, smoothing and sharpening filters are not set to be mixed between each other since the results are pointless(they counter each other). // Awas ngelag! :u //====================================================================================================================================================================== //SMOOTHING FILTERS: //If you love smooth graphics ~ those are also great for downscaling - to do that, you need to use higher rendering res than your display res //================ #define FXAA 1 //ON:1/OFF:0 /default FXAA, orginal info below //================ #define GAUSS_SQ 0 //ON:1/OFF:0 /full square gauss filtering #define Gsmoothing 2.5 //Default: 3.5 /increase for smoother(blurry) graphics //================ #define GAUSS_S 0 //ON:1/OFF:0 /simple gauss filtering by Bigpet, slightly different from above /you can find standalone in https://github.com/hrydgard/ppsspp/issues/7242 //================ //SHARPENING FILTERS: //if you need very sharp image, add lots of aliasing //================ #define SHARPEN 0 //ON:1/OFF:0 /a simple sharpen filter, might be counterproductive to FXAA and BLOOM, hence disabled by default #define value 0.98 //Default: 7.5 /higher = more visible effect //================ #define S_COM_V2 0 //Sharpen Complex v2 from https://github.com/mpc-hc similar to above in effect, maybe more accurate #define S_val0 5.0 //Default: 5.0 /higher ~ increases sharpness /negative ~ can add extra blurr/strange effect //================ //UPSCALING FILTERS: //To use those, you have to set rendering res to smaller than window/display size(x1 for best results) and screen scaling filter to "nearest" //Starting from v1.1.1-28-g70e9979 you can also add Upscaling=True to ini file(check example) to do it automatically //================ #define xBR 1 //ON:1/OFF:0 /5xBR upscale, nice for 2D games especially those that might be buggy with higher rendering res, initially made by Hyllian - license below #define VariantB 0 //ON:1/OFF:0 /slightly less effect on fonts, dots and other small details //================ #define xHQ 0 //ON:1/OFF:0 same as 4xHQ in PPSSPP, but actually using output resolution #define scaleoffset 0.75 //Default: 0.75 /you can tweek it between 0.5 and 1.0, Note: to little = no effect, to high = ugliness //================ //OTHER FILTERS: //Most effects from here on can be fully mixed without loosing previous effects. Exceptions: Natural Colors, Advanced Cartoon //================ #define BLOOM 0 //ON:1/OFF:0 /bloom implementation from "my heroics" blog http://myheroics.wordpress.com/2008/09/04/glsl-bloom-shader/ #define KIMOCHI 1 //Senpai! #define samples 3 //Default: 4 /higher = more glow, worse performance #define quality 0.22 //Default: 0.18 /lower = smaller glow, better quality #define Bpower 1.0 //Default: 1.0 /amount of bloom mixed //================ #define COLORED 1 //ON:1/OFF:0 /coloring part of KrossX Overlay Bloom shader from here http://www.mediafire.com/krossx#ste5pa5ijfa0o #define Cpower 0.69 //Default: 0.5 /strenght of the effect //================ #define NATURALC 0 //ON:1/OFF:0 /by popular demand, natular colors, note: this shader can't be fully mixed with smoothing/sharpening/upscaling effects #define ncpower 0.5 //Default:0.5 / higher = more natural color, check note line above //================ #define ACARTOON 0 //ON:1/OFF:0 Advanced Cartoon from Guest shader pack #define th 0.10 //Default: 0.10 /outlines sensitivity, recommended from 0.00...0.50 #define bb 0.45 //Default: 0.45 /outlines 6 6 34 2025-03-05
Error in shader program link: info: Link Error: Vertex shader is missing. fs: 00004000:00200022 Tex TexAlpha Fog Flat TFuncMod #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; flat in vec4 v_color0; uniform vec3 u_fogcolor; in highp float v_fogdepth; in highp vec3 v_texcoord; inout vec4 fragColor0; 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 = v; } vs: 40000000:00000914 HWX T Fog Tex Flat #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; uniform highp vec2 u_fogcoef; flat out lowp vec4 v_color0; out highp vec3 v_texcoord; out highp float v_fogdepth; 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); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; } 12 12 33 2026-11-02
Error in shader program link: info: Error: input v_texcoordNC0 not declared in output from previous stage. Error: Linking failed. fs: postshader #ifdef GL_ES precision mediump float; #endif //Note : Recommend to use PPSSPP v1.1.1-183-gb411fc0 or newer for full functionality, there were some bugs in earlier versions. //Note2 : Upscaling, smoothing and sharpening filters are not set to be mixed between each other since the results are pointless(they counter each other). // Awas ngelag! :u //====================================================================================================================================================================== //SMOOTHING FILTERS: //If you love smooth graphics ~ those are also great for downscaling - to do that, you need to use higher rendering res than your display res //================ #define FXAA 1 //ON:1/OFF:0 /default FXAA, orginal info below //================ #define GAUSS_SQ 0 //ON:1/OFF:0 /full square gauss filtering #define Gsmoothing 2.5 //Default: 3.5 /increase for smoother(blurry) graphics //================ #define GAUSS_S 0 //ON:1/OFF:0 /simple gauss filtering by Bigpet, slightly different from above /you can find standalone in https://github.com/hrydgard/ppsspp/issues/7242 //================ //SHARPENING FILTERS: //if you need very sharp image, add lots of aliasing //================ #define SHARPEN 0 //ON:1/OFF:0 /a simple sharpen filter, might be counterproductive to FXAA and BLOOM, hence disabled by default #define value 0.98 //Default: 7.5 /higher = more visible effect //================ #define S_COM_V2 0 //Sharpen Complex v2 from https://github.com/mpc-hc similar to above in effect, maybe more accurate #define S_val0 5.0 //Default: 5.0 /higher ~ increases sharpness /negative ~ can add extra blurr/strange effect //================ //UPSCALING FILTERS: //To use those, you have to set rendering res to smaller than window/display size(x1 for best results) and screen scaling filter to "nearest" //Starting from v1.1.1-28-g70e9979 you can also add Upscaling=True to ini file(check example) to do it automatically //================ #define xBR 1 //ON:1/OFF:0 /5xBR upscale, nice for 2D games especially those that might be buggy with higher rendering res, initially made by Hyllian - license below #define VariantB 0 //ON:1/OFF:0 /slightly less effect on fonts, dots and other small details //================ #define xHQ 0 //ON:1/OFF:0 same as 4xHQ in PPSSPP, but actually using output resolution #define scaleoffset 0.75 //Default: 0.75 /you can tweek it between 0.5 and 1.0, Note: to little = no effect, to high = ugliness //================ //OTHER FILTERS: //Most effects from here on can be fully mixed without loosing previous effects. Exceptions: Natural Colors, Advanced Cartoon //================ #define BLOOM 0 //ON:1/OFF:0 /bloom implementation from "my heroics" blog http://myheroics.wordpress.com/2008/09/04/glsl-bloom-shader/ #define KIMOCHI 1 //Senpai! #define samples 3 //Default: 4 /higher = more glow, worse performance #define quality 0.22 //Default: 0.18 /lower = smaller glow, better quality #define Bpower 1.0 //Default: 1.0 /amount of bloom mixed //================ #define COLORED 1 //ON:1/OFF:0 /coloring part of KrossX Overlay Bloom shader from here http://www.mediafire.com/krossx#ste5pa5ijfa0o #define Cpower 0.69 //Default: 0.5 /strenght of the effect //================ #define NATURALC 0 //ON:1/OFF:0 /by popular demand, natular colors, note: this shader can't be fully mixed with smoothing/sharpening/upscaling effects #define ncpower 0.5 //Default:0.5 / higher = more natural color, check note line above //================ #define ACARTOON 0 //ON:1/OFF:0 Advanced Cartoon from Guest shader pack #define th 0.10 //Default: 0.10 /outlines sensitivity, recommended from 0.00...0.50 #define 7 7 33 2025-04-20
Error in shader program link: info: Link Error: Vertex shader is missing. 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; gl_Position = u_proj_through * vec4(position.xyz, 1.0); } 14 14 32 2026-11-07
Error in shader program link: info: (unknown reason) fs: 00000000:00000002 Tex TFuncMod #version 320 es #extension GL_ARM_shader_framebuffer_fetch : require // Mali-G57 MC2 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; in lowp 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:00000938 HWX C T Tex Cull #version 320 es // Mali-G57 MC2 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) in vec3 position; 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; void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); v_color0 = color0; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 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.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; } 4 4 32 2026-02-01
Error in shader program link: info: (unknown reason) fs: 00000000:00000022 Tex TexAlpha TFuncMod #version 320 es #extension GL_ARM_shader_framebuffer_fetch : require // Mali-G57 MC2 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; in lowp 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:00000938 HWX C T Tex Cull #version 320 es // Mali-G57 MC2 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) in vec3 position; 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; void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); v_color0 = color0; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 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.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; } 5 5 31 2026-02-01
Error in shader program link: info: (unknown reason) fs: 00000000:0001d022 Tex TexAlpha TFuncMod AlphaTest0 > #version 320 es #extension GL_ARM_shader_framebuffer_fetch : require // Mali-G57 MC2 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; uniform sampler2D testtex; in lowp 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:00000938 HWX C T Tex Cull #version 320 es // Mali-G57 MC2 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) in vec3 position; 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; void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); v_color0 = color0; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 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.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; } 3 3 31 2026-01-30
Error in shader program link: info: Link failed because of missing fragment shader. fs: thin3d vs: thin3d #version 320 es #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; } 20 20 30 2026-10-19
Error in shader program link: info: Link failed because of missing vertex shader. fs: 00000000:00200022 Tex TexAlpha Fog TFuncMod #version 300 es #extension GL_ARM_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; out vec4 fragColor0; 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 = v; } vs: 00000000:0000091c HWX C T Fog Tex #version 300 es precision highp float; in vec3 position; 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; 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 = vec3(0.0, 0.0, 1.0); 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); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; } 15 15 30 2026-10-14
Error in shader program link: info: (unknown reason) fs: 00000000:0001d002 Tex TFuncMod AlphaTest0 > #version 320 es #extension GL_ARM_shader_framebuffer_fetch : require // Mali-G57 MC2 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; uniform sampler2D testtex; in lowp 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:00000938 HWX C T Tex Cull #version 320 es // Mali-G57 MC2 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) in vec3 position; 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; void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); v_color0 = color0; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 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.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; } 3 3 30 2026-01-30
Error in shader program link: info: Link Error: Fragment shader is missing. fs: thin3d vs: thin3d #version 320 es #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; } 22 22 29 2026-08-29
Error in shader program link: info: Link failed because of invalid fragment shader. fs: postshader // PPSSPP: Grabbed from Processing and slightly modified. // FXAA shader, GLSL code adapted from: // http://horde3d.org/wiki/index.php5?title=Shading_Technique_-_FXAA // Whitepaper describing the technique: // http://developer.download.nvidia.com/assets/gamedev/files/sdk/11/FXAA_WhitePaper.pdf //====================================================================================================================================================================== //Extra options: #define FXAA 0 //ON:1/OFF:0 /default FXAA, info above //there's no extra config for fxaa here since from what I checked this simple fxaa version offers only more blur or less aa;c, you can check it yourself below //================ #define GAUSS_SQ 0 //ON:1/OFF:0 /full square gauss filtering, don't use with either FXAA nor sharpen filters #define Gsmoothing 3.5 //Default: 3.5 /increase for smoother(blurry) graphics //================ #define GAUSS_S 0 //ON:1/OFF:0 /simple gauss filtering by Bigpet, slightly different from above /you can find standalone in https://github.com/hrydgard/ppsspp/issues/7242 //================ #define MIKU 0 //Hatsune<3 this is an optional filter for all those pale anime faces which get white with bloom/colored:P tested on Miku in white dress //================ #define BLOOM 0 //ON:1/OFF:0 /bloom implementation from "my heroics" blog http://myheroics.wordpress.com/2008/09/04/glsl-bloom-shader/ #define samples 4 //Default: 4 /higher = more glow, worser performance #define quality 0.25 //Default: 0.25 /lower = smaller glow, better quality #define factor 0.002 //Default: 0.002 /just an extra tweak for the bloom slightly higher values might look better in some cases, but too much can cause artifacts #define Bpower 0.5 //Default: 0.5 /amount of bloom mixed //================ #define COLORED 1 //ON:1/OFF:0 /coloring part of KrossX Overlay Bloom shader from here http://www.mediafire.com/krossx#ste5pa5ijfa0o #define Cpower 0.3 //Default: 0.5 /amount of effect mixed //================ #define SHARPEN 0 //ON:1/OFF:0 /a simple sharpen filter, might be counterproductive to FXAA and BLOOM, hence disabled by default #define value 7.5 //Default: 7.5 /higher = more visible effect //================ #define S_COM_V2 0 //Sharpen Complex v2 from https://github.com/mpc-hc similar to above in effect, maybe more accurate #define S_val0 5.0 //Default: 5.0 /higher ~ increases sharpness /negative ~ can add extra blurr/strange effect //================ #define SHADEBOOST 1 //ON:1/OFF:0 /color correction from GSdx/pcsx2 plugin, initially taken from http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=21057 #define saturation 1.1 //Default: 1.0 //negative will look like inverted colors shader #define brightness 2.5 //Default: 1.0 #define contrast 1.23 //Default: 1.0 //negative will be... well negative;p #define red 0.55 //Default: 1.0 #define green 0.55 //Default: 1.0 #define blue 0.55 //Default: 1.0 //Shadeboost presets: //Shadeboost must be activated, presets override options above int SEPIA = 0; //Moody coolors:) int GRAYSCALE = 0; //Just for lols? int NEGATIVE = 0; //As above int PSPCOLORS = 0; //Makes the colors as on older PSP screens(colder) //All presets are simple switch ON:1/OFF:0, //================ #define GAMMA 1 //simple gamma function after reading http://filmicgames.com/archives/299 #define correction 1.2 //Default: 1.0 //================ #define SCANLINES 0 //Ugly lines which never existed on psp, yet are popular among some people(I had to, sorry:P) #define SLsize 1 //Default: 1 /basically sets how wide each line is, from 1 to looks_weird_when_too_high #define SLcolor 1.8 //Default: 2.8 /brightens screen to compensate for dark lines #define SLpower 0.4 //Default: 0.4 /less/more = darker/brighter 4 4 29 2026-08-07
Error in shader program link: info: Link failed because of missing fragment shader. fs: thin3d #ifdef GL_ES precision mediump float; #endif #ifdef GL_ES precision lowp float; #endif #if __VERSION__ >= 130 #define varying in #define texture2D texture #define gl_FragColor fragColor0 out vec4 fragColor0; #endif varying vec4 oColor0; varying vec2 oTexCoord0; uniform sampler2D Sampler0; void main() { gl_FragColor = texture2D(Sampler0, oTexCoord0).zyxw * oColor0; } 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; } 18 18 29 2025-02-27
Error in shader program link: info: Link failed because of missing vertex shader. fs: 00000000:0001d000 AlphaTest0 > #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require 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: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; gl_Position = u_proj_through * vec4(position.xyz, 1.0); } 16 16 28 2026-09-12
Error in shader program link: info: L0001 The fragment shader uniform floating-point u_texelDelta does not match the vertex shader uniform floating-point u_texelDelta. The precision does not match. fs: postshader #version 310 es precision mediump float; precision highp int; uniform vec2 u_pixelDelta; layout(binding = 0) uniform mediump sampler2D sampler0; uniform vec4 u_time; uniform vec2 u_texelDelta; in vec2 v_texcoord0; out vec4 _RESERVED_IDENTIFIER_FIXUP_gl_FragColor; in vec4 v_texcoordNC0; in vec4 v_texcoordNC1; in vec4 v_texcoordNC2; in vec4 v_texcoordNC3; mediump int SEPIA; mediump int GRAYSCALE; mediump int NEGATIVE; mediump int PSPCOLORS; vec3 processGAUSS_S(inout vec3 color) { float GAUSSS_SPAN_MAX = 1.5; float GAUSSS_KERNEL_SIZE = 5.0; vec2 offsetS = (u_pixelDelta * GAUSSS_SPAN_MAX) / vec2(GAUSSS_KERNEL_SIZE); vec3 cGaussS0 = texture(sampler0, v_texcoord0 + (offsetS * vec2(0.0, -2.0))).xyz * 1.0; vec3 cGaussS1 = texture(sampler0, v_texcoord0 + (offsetS * vec2(-1.0))).xyz * 3.0; vec3 cGaussS2 = texture(sampler0, v_texcoord0 + (offsetS * vec2(0.0, -1.0))).xyz * 8.0; vec3 cGaussS3 = texture(sampler0, v_texcoord0 + (offsetS * vec2(1.0, -1.0))).xyz * 3.0; vec3 cGaussS4 = texture(sampler0, v_texcoord0 + (offsetS * vec2(-2.0, 0.0))).xyz * 1.0; vec3 cGaussS5 = texture(sampler0, v_texcoord0 + (offsetS * vec2(-1.0, 0.0))).xyz * 8.0; vec3 cGaussS6 = texture(sampler0, v_texcoord0 + (offsetS * vec2(0.0))).xyz * 10.0; vec3 cGaussS7 = texture(sampler0, v_texcoord0 + (offsetS * vec2(1.0, 0.0))).xyz * 8.0; vec3 cGaussS8 = texture(sampler0, v_texcoord0 + (offsetS * vec2(2.0, 0.0))).xyz * 1.0; vec3 cGaussS9 = texture(sampler0, v_texcoord0 + (offsetS * vec2(-1.0, 1.0))).xyz * 3.0; vec3 cGaussS10 = texture(sampler0, v_texcoord0 + (offsetS * vec2(0.0, 1.0))).xyz * 8.0; vec3 cGaussS11 = texture(sampler0, v_texcoord0 + (offsetS * vec2(1.0))).xyz * 3.0; vec3 cGaussS12 = texture(sampler0, v_texcoord0 + (offsetS * vec2(0.0, 2.0))).xyz * 1.0; color = (((((((((((cGaussS0 + cGaussS1) + cGaussS2) + cGaussS3) + cGaussS4) + cGaussS5) + cGaussS6) + cGaussS7) + cGaussS8) + cGaussS9) + cGaussS10) + cGaussS11) + cGaussS12; color /= vec3(58.0); return color; } vec3 processSHADEBOOST(inout vec3 color) { float sat = 1.89999997615814208984375; float brt = 0.699999988079071044921875; float con = 1.2000000476837158203125; float AvgLumR = 1.5; float AvgLumG = 1.5; float AvgLumB = 1.5; if (SEPIA == 1) { sat = 0.00999999977648258209228515625; brt = 1.75; con = 1.0; AvgLumR = 0.439999997615814208984375; AvgLumG = 0.2599999904632568359375; AvgLumB = 0.07999999821186065673828125; } if (GRAYSCALE == 1) { sat = 0.0; brt = 1.0; con = 1.0; AvgLumR = 1.0; AvgLumG = 1.0; AvgLumB = 1.0; } if (NEGATIVE == 1) { sat = 1.0; brt = 1.0; con = -1.0; AvgLumR = 1.0; AvgLumG = 1.0; AvgLumB = 1.0; } if (PSPCOLORS == 1) { sat = 1.0; brt = 1.0; con = 1.0; AvgLumR = 0.959299981594085693359375; AvgLumG = 1.0738999843597412109375; AvgLumB = 1.46039998531341552734375; } vec3 AvgLumin = vec3(AvgLumR, AvgLumG, AvgLumB); vec3 conRGB = vec3(0.5); vec3 brtColor = color * brt; vec3 intensity = vec3(((brtColor.x * 0.2125000059604644775390625) + (brtColor.y * 0.7153999805450439453125)) + (brtColor.z * 0.07209999859333038330078125)); vec3 satColor = mix(intensity, brtColor, vec3(sat)); vec3 conColor = mix(conRGB, satColor, vec3(con)); vec3 mixColor = AvgLumin * conColor; color = mixColor; return color; } void main() { SEPIA = 0; GRAYSCALE = 0; NEGATIVE = 0; PSPCOLORS = 5; vec3 color = texture(sampler0, v_texcoord0).xyz; vec3 param = color; vec3 _311 = processGAUSS_S(param); color = _311; vec3 param_1 = color; vec3 _314 = processSHADEBOOST(param_1); color = _314; _RES 8 8 28 2026-05-21
Error in shader program link: info: Vertex info ----------- (0) : fatal error C9999: Can't convert to expr: 1f + @TMP0, 1f + @TMP1 fs: 00000000:0021d002 Tex Fog 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 = 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); if (v.a < 0.002) discard; 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.xyzw = vec4(u_cullRangeMax.w); } } gl_Position = outPos; } 1 1 28 2020-12-02
Error in shader program link: info: WARNING: Could not find vertex shader attribute 'w2' to match BindAttributeLocation request. WARNING: Could not find vertex shader attribute 'color1' to match BindAttributeLocation request. WARNING: Could not find vertex shader attribute 'w1' to match BindAttributeLocation request. WARNING: Could not find vertex shader attribute 'fog' to match BindAttributeLocation request. ERROR: Input of fragment shader 'v_color1' not written by vertex shader fs: 00000000:00000822 Tex TexAlpha LM TFuncMod #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require // Apple A13 GPU - GLSL 300 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; in lowp vec4 v_color0; in lowp 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; fragColor0 = v; } vs: 00000000:0000001a THR C Tex #version 300 es // Apple A13 GPU - GLSL 300 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; uniform lowp float u_rotation; out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; vec4 outPos = mul(u_proj_through, vec4(position.xyz, 1.0)); gl_Position = outPos; } 2 2 27 2022-09-14
Error in shader program link: info: Link Error: Fragment shader was not successfully compiled. fs: postshader (failed) // PPSSPP: Grabbed from Processing and slightly modified. // FXAA shader, GLSL code adapted from: // http://horde3d.org/wiki/index.php5?title=Shading_Technique_-_FXAA // Whitepaper describing the technique: // http://developer.download.nvidia.com/assets/gamedev/files/sdk/11/FXAA_WhitePaper.pdf //====================================================================================================================================================================== //Extra options: #define FXAA 0 //ON:1/OFF:0 /default FXAA, info above //there's no extra config for fxaa here since from what I checked this simple fxaa version offers only more blur or less aa;c, you can check it yourself below //================ #define GAUSS_SQ 0 //ON:1/OFF:0 /full square gauss filtering, don't use with either FXAA nor sharpen filters #define Gsmoothing 3.5 //Default: 3.5 /increase for smoother(blurry) graphics //================ #define GAUSS_S 0 //ON:1/OFF:0 /simple gauss filtering by Bigpet, slightly different from above /you can find standalone in https://github.com/hrydgard/ppsspp/issues/7242 //================ #define MIKU 0 //Hatsune<3 this is an optional filter for all those pale anime faces which get white with bloom/colored:P tested on Miku in white dress //================ #define BLOOM 0 //ON:1/OFF:0 /bloom implementation from "my heroics" blog http://myheroics.wordpress.com/2008/09/04/glsl-bloom-shader/ #define samples 4 //Default: 4 /higher = more glow, worser performance #define quality 0.25 //Default: 0.25 /lower = smaller glow, better quality #define factor 0.002 //Default: 0.002 /just an extra tweak for the bloom slightly higher values might look better in some cases, but too much can cause artifacts #define Bpower 0.5 //Default: 0.5 /amount of bloom mixed //================ #define COLORED 1 //ON:1/OFF:0 /coloring part of KrossX Overlay Bloom shader from here http://www.mediafire.com/krossx#ste5pa5ijfa0o #define Cpower 0.3 //Default: 0.5 /amount of effect mixed //================ #define SHARPEN 0 //ON:1/OFF:0 /a simple sharpen filter, might be counterproductive to FXAA and BLOOM, hence disabled by default #define value 7.5 //Default: 7.5 /higher = more visible effect //================ #define S_COM_V2 0 //Sharpen Complex v2 from https://github.com/mpc-hc similar to above in effect, maybe more accurate #define S_val0 5.0 //Default: 5.0 /higher ~ increases sharpness /negative ~ can add extra blurr/strange effect //================ #define SHADEBOOST 1 //ON:1/OFF:0 /color correction from GSdx/pcsx2 plugin, initially taken from http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=21057 #define saturation 1.1 //Default: 1.0 //negative will look like inverted colors shader #define brightness 2.5 //Default: 1.0 #define contrast 1.23 //Default: 1.0 //negative will be... well negative;p #define red 0.55 //Default: 1.0 #define green 0.55 //Default: 1.0 #define blue 0.55 //Default: 1.0 //Shadeboost presets: //Shadeboost must be activated, presets override options above int SEPIA = 0; //Moody coolors:) int GRAYSCALE = 0; //Just for lols? int NEGATIVE = 0; //As above int PSPCOLORS = 0; //Makes the colors as on older PSP screens(colder) //All presets are simple switch ON:1/OFF:0, //================ #define GAMMA 1 //simple gamma function after reading http://filmicgames.com/archives/299 #define correction 1.2 //Default: 1.0 //================ #define SCANLINES 0 //Ugly lines which never existed on psp, yet are popular among some people(I had to, sorry:P) #define SLsize 1 //Default: 1 /basically sets how wide each line is, from 1 to looks_weird_when_too_high #define SLcolor 1.8 //Default: 2.8 /brightens screen to compensate for dark lines #define SLpower 0.4 //Default: 0.4 /less/m 3 3 23 2025-01-17
Error in shader program link: info: WARNING: Could not find vertex shader attribute 'Normal' to match BindAttributeLocation request. WARNING: Could not find vertex shader attribute 'Color1' to match BindAttributeLocation request. WARNING: Could not find vertex shader attribute 'TexCoord0' to match BindAttributeLocation request. WARNING: Could not find vertex shader attribute 'Position' to match BindAttributeLocation request. WARNING: Could not find vertex shader attribute 'Tangent' to match BindAttributeLocation request. WARNING: Could not find vertex shader attribute 'Binormal' to match BindAttributeLocation request. WARNING: Could not find vertex shader attribute 'Color0' to match BindAttributeLocation request. WARNING: Output of vertex shader 'v_texcoordNC0' not read by fragment shader WARNING: Output of vertex shader 'v_texcoordNC2' not read by fragment shader WARNING: Output of vertex shader 'v_texcoordNC3' not read by fragment shader WARNING: Output of vertex shader 'v_texcoordNC1' not read by fragment shader ERROR: Uniform precision mismatch 'u_texelDelta' fs: postshader #version 300 es precision mediump float; precision highp int; uniform vec2 u_texelDelta; uniform vec2 u_pixelDelta; uniform mediump sampler2D sampler0; uniform vec4 u_time; in vec2 v_texcoord0; out vec4 _RESERVED_IDENTIFIER_FIXUP_gl_FragColor; in vec4 v_texcoordNC0; in vec4 v_texcoordNC1; in vec4 v_texcoordNC2; in vec4 v_texcoordNC3; mediump int SEPIA; mediump int GRAYSCALE; mediump int NEGATIVE; mediump int PSPCOLORS; bvec4 _and_(bvec4 A, bvec4 B) { return bvec4(A.x && B.x, A.y && B.y, A.z && B.z, A.w && B.w); } vec4 df(vec4 A, vec4 B) { return abs(A - B); } bvec4 close(vec4 A, vec4 B) { vec4 param = A; vec4 param_1 = B; return lessThan(df(param, param_1), vec4(15.0)); } bvec4 _or_(bvec4 A, bvec4 B) { return bvec4(A.x || B.x, A.y || B.y, A.z || B.z, A.w || B.w); } vec4 weighted_distance(vec4 a, vec4 b, vec4 c, vec4 d, vec4 e, vec4 f, vec4 g, vec4 h) { vec4 param = a; vec4 param_1 = b; vec4 param_2 = a; vec4 param_3 = c; vec4 param_4 = d; vec4 param_5 = e; vec4 param_6 = d; vec4 param_7 = f; vec4 param_8 = g; vec4 param_9 = h; return (((df(param, param_1) + df(param_2, param_3)) + df(param_4, param_5)) + df(param_6, param_7)) + (df(param_8, param_9) * 4.0); } vec3 processxBR(vec3 color) { vec2 pS = vec2(1.0) / u_texelDelta; vec2 fp = fract(v_texcoord0 * pS); vec2 TexCoord_0 = v_texcoord0 - (fp * u_pixelDelta); 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 = texture(sampler0, (TexCoord_0 - dx) - dy).xyz; vec3 B = texture(sampler0, TexCoord_0 - dy).xyz; vec3 C = texture(sampler0, (TexCoord_0 + dx) - dy).xyz; vec3 D = texture(sampler0, TexCoord_0 - dx).xyz; vec3 E = texture(sampler0, TexCoord_0).xyz; vec3 F = texture(sampler0, TexCoord_0 + dx).xyz; vec3 G = texture(sampler0, (TexCoord_0 - dx) + dy).xyz; vec3 H = texture(sampler0, TexCoord_0 + dy).xyz; vec3 I = texture(sampler0, (TexCoord_0 + dx) + dy).xyz; vec3 A1 = texture(sampler0, (TexCoord_0 - dx) - y2).xyz; vec3 C1 = texture(sampler0, (TexCoord_0 + dx) - y2).xyz; vec3 A0 = texture(sampler0, (TexCoord_0 - x2) - dy).xyz; vec3 G0 = texture(sampler0, (TexCoord_0 - x2) + dy).xyz; vec3 C4 = texture(sampler0, (TexCoord_0 + x2) - dy).xyz; vec3 I4 = texture(sampler0, (TexCoord_0 + x2) + dy).xyz; vec3 G5 = texture(sampler0, (TexCoord_0 - dx) + y2).xyz; vec3 I5 = texture(sampler0, (TexCoord_0 + dx) + y2).xyz; vec3 B1 = texture(sampler0, TexCoord_0 - y2).xyz; vec3 D0 = texture(sampler0, TexCoord_0 - x2).xyz; vec3 H5 = texture(sampler0, TexCoord_0 + y2).xyz; vec3 F4 = texture(sampler0, TexCoord_0 + x2).xyz; vec4 b = vec4(dot(B, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(D, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(H, vec3(16.1630001068115234375, 23.3509998321533203125, 8. 5 5 22 2024-09-21
Error in shader program link: info: L0001 The fragment shader uniform floating-point u_texelDelta does not match the vertex shader uniform floating-point u_texelDelta. The precision does not match. fs: postshader #version 310 es precision mediump float; precision highp int; layout(binding = 0) uniform mediump sampler2D sampler0; uniform vec4 u_time; uniform vec2 u_texelDelta; uniform vec2 u_pixelDelta; in vec2 v_texcoord0; out vec4 _RESERVED_IDENTIFIER_FIXUP_gl_FragColor; mediump int SEPIA; mediump int GRAYSCALE; mediump int NEGATIVE; mediump int PSPCOLORS; void main() { SEPIA = 0; GRAYSCALE = 0; NEGATIVE = 0; PSPCOLORS = 0; vec3 color = texture(sampler0, v_texcoord0).xyz; vec3 colorB = color; mediump int hatsu = 0; float sat = 1.85000002384185791015625; float brt = 1.25; float con = 0.89999997615814208984375; float AvgLumR = 1.08000004291534423828125; float AvgLumG = 1.019999980926513671875; float AvgLumB = 1.019999980926513671875; if (SEPIA == 1) { sat = 0.00999999977648258209228515625; brt = 1.75; con = 1.0; AvgLumR = 0.439999997615814208984375; AvgLumG = 0.2599999904632568359375; AvgLumB = 0.07999999821186065673828125; } if (GRAYSCALE == 1) { sat = 0.0; brt = 1.0; con = 1.0; AvgLumR = 1.0; AvgLumG = 1.0; AvgLumB = 1.0; } if (NEGATIVE == 1) { sat = 1.0; brt = 1.0; con = -1.0; AvgLumR = 1.0; AvgLumG = 1.0; AvgLumB = 1.0; } if (PSPCOLORS == 1) { sat = 1.0; brt = 1.0; con = 1.0; AvgLumR = 0.959299981594085693359375; AvgLumG = 1.0738999843597412109375; AvgLumB = 1.46039998531341552734375; } vec3 AvgLumin = vec3(AvgLumR, AvgLumG, AvgLumB); vec3 conRGB = vec3(0.5); vec3 brtColor = color * brt; vec3 intensity = vec3(((brtColor.x * 0.2125000059604644775390625) + (brtColor.y * 0.7153999805450439453125)) + (brtColor.z * 0.07209999859333038330078125)); vec3 satColor = mix(intensity, brtColor, vec3(sat)); vec3 conColor = mix(conRGB, satColor, vec3(con)); vec3 mixColor = AvgLumin * conColor; color = mixColor; _RESERVED_IDENTIFIER_FIXUP_gl_FragColor.x = color.x; _RESERVED_IDENTIFIER_FIXUP_gl_FragColor.y = color.y; _RESERVED_IDENTIFIER_FIXUP_gl_FragColor.z = color.z; _RESERVED_IDENTIFIER_FIXUP_gl_FragColor.w = 1.0; } vs: postshader #version 310 es uniform vec2 u_texelDelta; out vec2 v_texcoord0; in vec2 a_texcoord0; in vec4 a_position; out vec4 v_texcoordNC0; out vec4 v_texcoordNC1; out vec4 v_texcoordNC2; out vec4 v_texcoordNC3; void main() { v_texcoord0 = a_texcoord0; gl_Position = a_position; v_texcoordNC0 = a_texcoord0.xyxy + (vec4(-0.5, -0.5, -1.5, -1.5) * u_texelDelta.xyxy); v_texcoordNC1 = a_texcoord0.xyxy + (vec4(0.5, -0.5, 1.5, -1.5) * u_texelDelta.xyxy); v_texcoordNC2 = a_texcoord0.xyxy + (vec4(-0.5, 0.5, -1.5, 1.5) * u_texelDelta.xyxy); v_texcoordNC3 = a_texcoord0.xyxy + (vec4(0.5, 0.5, 1.5, 1.5) * u_texelDelta.xyxy); } 2 2 21 2024-10-30
Error in shader program link: info: Vertex info ----------- (0) : fatal error C9999: Can't convert to expr: 1f + @TMP0, 1f + @TMP1 fs: 00000000:00200802 Tex LM Fog TFuncMod #version 330 #define lowp #define mediump #define highp 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; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 01330001:003a0b15 HWX T N LM Fog Tex UVEnv Light: 0: c:1 t:0 1: c:0 t:0 2: c:0 t:0 3: c:0 t:0 MatUp:3 #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_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 vec3 u_lightpos2; uniform vec3 u_lightpos3; 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 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); 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 = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } 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_color1 = clamp(lightSum1, 0.0, 1.0); 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.xyzw = vec4(u_cullRangeMax.w); } } gl_Position = outPos; } 1 1 21 2020-12-02
Error in shader program link: info: Link Error: Vertex shader is missing. fs: 00004000:00000002 Tex Flat TFuncMod #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; flat in vec4 v_color0; in highp 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: 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 highp vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; gl_Position = u_proj_through * vec4(position.xyz, 1.0); } 9 9 20 2026-11-07
Error in shader program link: info: Link failed because of missing vertex shader. 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; gl_Position = u_proj_through * vec4(position.xyz, 1.0); } 15 15 20 2026-09-18
Error in shader program link: info: The qualification for varying variable v_color0 does not match in output and input shaders cannot find a matched output for input v_color0 fs: 00000000:00000000 ReplaceLogic #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: PowerVR Rogue GE8320 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:00000000 ReplaceLogic uniform sampler2D fbotex; in lowp vec4 v_color0; in highp float v_fogdepth; out vec4 fragColor0; void main() { lowp vec4 destColor = texelFetch(fbotex, ivec2(gl_FragCoord.x, gl_FragCoord.y), 0); vec4 v = v_color0 ; fragColor0 = v; highp uint v32 = packUnorm4x8(fragColor0); highp uint d32 = packUnorm4x8(destColor); v32 &= 0xFF000000u; fragColor0 = unpackUnorm4x8(v32); } vs: 40000000:00000910 HWX T Tex Flat #version 320 es // Driver: PowerVR Rogue GE8320 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40000000:00000910 HWX T Tex Flat 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; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; flat out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(0.0, 0.0, 1.0, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = u_matambientalpha; v_color0 = u_matambientalpha; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; gl_Position = outPos; } 1 1 20 2023-02-16
Error in shader program link: info: The qualification for varying variable v_color0 does not match in output and input shaders cannot find a matched output for input v_color0 fs: 00000000:00000000 ReplaceLogic #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: PowerVR Rogue GE8320 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:00000000 ReplaceLogic uniform sampler2D fbotex; in lowp vec4 v_color0; in highp float v_fogdepth; out vec4 fragColor0; void main() { lowp vec4 destColor = texelFetch(fbotex, ivec2(gl_FragCoord.x, gl_FragCoord.y), 0); vec4 v = v_color0 ; fragColor0 = v; highp uint v32 = packUnorm4x8(fragColor0); highp uint d32 = packUnorm4x8(destColor); v32 &= 0xFF000000u; fragColor0 = unpackUnorm4x8(v32); } vs: 40000000:00000012 THR Tex Flat #version 320 es // Driver: PowerVR Rogue GE8320 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40000000:00000012 THR Tex Flat in vec4 position; in highp float fog; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; uniform lowp float u_rotation; uniform highp vec2 u_fogcoef; flat out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; v_fogdepth = fog; vec4 outPos = mul(u_proj_through, vec4(position.xyz, 1.0)); gl_Position = outPos; } 1 1 20 2023-02-16
Error in shader program link: info: Vertex info ----------- (0) : fatal error C9999: Can't convert to expr: 1f + @TMP0, 1f + @TMP1 fs: 00000000:06200002 Tex Fog StenToAlphaDual Sten0 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; out vec4 fragColor1; 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 = vec4(v.rgb, 0.0); fragColor1 = vec4(0.0, 0.0, 0.0, v.a); } vs: 00000000:003e0314 HWX N Fog Tex UVEnv 3: c:0 t:0 #version 330 #define lowp #define mediump #define highp in vec3 position; in mediump vec3 normal; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; 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_lightpos3) == 0.0 ? worldnormal.z : dot(normalize(u_lightpos3), 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.xyzw = vec4(u_cullRangeMax.w); } } gl_Position = outPos; } 1 1 20 2020-12-21
Error in shader program link: info: L0100 GLSL allows exactly two attached shaders (one of each type) per program fs: 00000000:00000082 Tex TClamp TFuncMod #version 100 precision lowp float; uniform sampler2D tex; uniform vec4 u_texclamp; varying vec4 v_color0; varying mediump vec3 v_texcoord; void main() { vec2 fixedcoord = vec2(mod(v_texcoord.x, u_texclamp.x), mod(v_texcoord.y, u_texclamp.y)); vec4 t = texture2D(tex, fixedcoord.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 mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; gl_Position = u_proj_through * vec4(position.xyz, 1.0); } 1 1 19 2026-08-02
Error in shader program link: info: The qualification for varying variable v_color0 does not match in output and input shaders cannot find a matched output for input v_color0 fs: 00000000:00000000 #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // PowerVR Rogue GE8300 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) in lowp vec4 v_color0; out vec4 fragColor0; void main() { vec4 v = v_color0 ; fragColor0 = v; } vs: 40000000:00000012 THR Tex Flat #version 320 es // PowerVR Rogue GE8300 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) 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 = mul(u_proj_through, vec4(position.xyz, 1.0)); gl_Position = outPos; } 1 1 18 2022-09-03
Error in shader program link: info: Vertex info ----------- (0) : fatal error C9999: Can't convert to expr: 1f + @TMP0, 1f + @TMP1 fs: 00010000: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) v.a = 0.0; fragColor0 = v; } vs: 01f00000:00120b18 HWX C T N Tex UVEnv Light: 0: c:0 t:0 1: c:0 t:0 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; 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 lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform vec3 u_lightpos3; 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; 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); 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_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); toLight = u_lightpos2; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse2 * u_matdiffuse) * max(ldot, 0.0); lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos3; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse3 * u_matdiffuse) * max(ldot, 0.0); lightSum0.rgb += (u_lightambient3 * 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.xyzw = vec4(u_cullRangeMax.w); } } gl_Position = outPos; } 2 2 18 2020-05-29
Error in shader program link: info: Vertex info ----------- (0) : fatal error C9999: Can't convert to expr: 1f + @TMP0, 1f + @TMP1 fs: 00010000: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) v.a = 0.0; fragColor0 = v; } vs: 01700000:00120b10 HWX T N Tex UVEnv Light: 0: c:0 t:0 1: c:0 t:0 2: 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_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 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; 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); 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_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); toLight = u_lightpos2; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse2 * u_matdiffuse) * max(ldot, 0.0); lightSum0.rgb += (u_lightambient2 * 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.xyzw = vec4(u_cullRangeMax.w); } } gl_Position = outPos; } 2 2 18 2020-05-29
Error in shader program link: info: (unknown reason) fs: thin3d #version 320 es // Driver: Adreno (TM) 610 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; in lowp vec4 oColor0; // COLOR0 in highp vec2 oTexCoord0; // TEXCOORD0 out vec4 fragColor0; void main() { vec4 col = texture(tex, oTexCoord0).zyxw * oColor0; col.rgb *= oColor0.a; fragColor0 = col; } vs: thin3d #version 320 es // Driver: Adreno (TM) 610 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) vec3 rgb2hsv(vec3 c) { vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g)); vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r)); float d = q.x - min(q.w, q.y); float e = 1.0e-10; return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); } vec3 hsv2rgb(vec3 c) { vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www); return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); } uniform mat4 WorldViewProj; uniform vec2 TintSaturation; in vec3 Position; in vec4 Color0; in vec2 TexCoord0; out lowp vec4 oColor0; // COLOR0 (0) out highp vec2 oTexCoord0; // TEXCOORD0 (1) void main() { gl_Position = mul(WorldViewProj, vec4(Position, 1.0)); vec3 hsv = rgb2hsv(Color0.xyz); hsv.x += TintSaturation.x; hsv.y *= TintSaturation.y; oColor0 = vec4(hsv2rgb(hsv), Color0.w); oTexCoord0 = TexCoord0; } 1 1 17 2026-11-15
Error in shader program link: info: (unknown reason) fs: thin3d #version 320 es // Driver: Adreno (TM) 610 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; in lowp vec4 oColor0; // COLOR0 in highp vec2 oTexCoord0; // TEXCOORD0 out vec4 fragColor0; void main() { vec4 col = texture(tex, oTexCoord0) * oColor0; col.rgb *= oColor0.a; fragColor0 = col; } vs: thin3d #version 320 es // Driver: Adreno (TM) 610 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) vec3 rgb2hsv(vec3 c) { vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g)); vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r)); float d = q.x - min(q.w, q.y); float e = 1.0e-10; return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); } vec3 hsv2rgb(vec3 c) { vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www); return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); } uniform mat4 WorldViewProj; uniform vec2 TintSaturation; in vec3 Position; in vec4 Color0; in vec2 TexCoord0; out lowp vec4 oColor0; // COLOR0 (0) out highp vec2 oTexCoord0; // TEXCOORD0 (1) void main() { gl_Position = mul(WorldViewProj, vec4(Position, 1.0)); vec3 hsv = rgb2hsv(Color0.xyz); hsv.x += TintSaturation.x; hsv.y *= TintSaturation.y; oColor0 = vec4(hsv2rgb(hsv), Color0.w); oTexCoord0 = TexCoord0; } 1 1 17 2026-11-15
Error in shader program link: info: L0001 The fragment floating-point variable u_texelDelta does not match the vertex variable u_texelDelta. The precision does not match. fs: postshader #version 320 es precision mediump float; precision highp int; layout(binding = 0) uniform mediump sampler2D sampler0; uniform vec4 u_time; uniform vec2 u_texelDelta; uniform vec2 u_pixelDelta; in vec2 v_texcoord0; out vec4 _RESERVED_IDENTIFIER_FIXUP_gl_FragColor; mediump int SEPIA; mediump int GRAYSCALE; mediump int NEGATIVE; mediump int PSPCOLORS; void main() { SEPIA = 0; GRAYSCALE = 0; NEGATIVE = 0; PSPCOLORS = 0; vec3 color = texture(sampler0, v_texcoord0).xyz; vec3 colorB = color; mediump int hatsu = 0; float sat = 1.85000002384185791015625; float brt = 1.25; float con = 0.89999997615814208984375; float AvgLumR = 1.08000004291534423828125; float AvgLumG = 1.019999980926513671875; float AvgLumB = 1.019999980926513671875; if (SEPIA == 1) { sat = 0.00999999977648258209228515625; brt = 1.75; con = 1.0; AvgLumR = 0.439999997615814208984375; AvgLumG = 0.2599999904632568359375; AvgLumB = 0.07999999821186065673828125; } if (GRAYSCALE == 1) { sat = 0.0; brt = 1.0; con = 1.0; AvgLumR = 1.0; AvgLumG = 1.0; AvgLumB = 1.0; } if (NEGATIVE == 1) { sat = 1.0; brt = 1.0; con = -1.0; AvgLumR = 1.0; AvgLumG = 1.0; AvgLumB = 1.0; } if (PSPCOLORS == 1) { sat = 1.0; brt = 1.0; con = 1.0; AvgLumR = 0.959299981594085693359375; AvgLumG = 1.0738999843597412109375; AvgLumB = 1.46039998531341552734375; } vec3 AvgLumin = vec3(AvgLumR, AvgLumG, AvgLumB); vec3 conRGB = vec3(0.5); vec3 brtColor = color * brt; vec3 intensity = vec3(((brtColor.x * 0.2125000059604644775390625) + (brtColor.y * 0.7153999805450439453125)) + (brtColor.z * 0.07209999859333038330078125)); vec3 satColor = mix(intensity, brtColor, vec3(sat)); vec3 conColor = mix(conRGB, satColor, vec3(con)); vec3 mixColor = AvgLumin * conColor; color = mixColor; _RESERVED_IDENTIFIER_FIXUP_gl_FragColor.x = color.x; _RESERVED_IDENTIFIER_FIXUP_gl_FragColor.y = color.y; _RESERVED_IDENTIFIER_FIXUP_gl_FragColor.z = color.z; _RESERVED_IDENTIFIER_FIXUP_gl_FragColor.w = 1.0; } vs: postshader #version 320 es uniform vec2 u_texelDelta; out vec2 v_texcoord0; in vec2 a_texcoord0; in vec4 a_position; out vec4 v_texcoordNC0; out vec4 v_texcoordNC1; out vec4 v_texcoordNC2; out vec4 v_texcoordNC3; void main() { v_texcoord0 = a_texcoord0; gl_Position = a_position; v_texcoordNC0 = a_texcoord0.xyxy + (vec4(-0.5, -0.5, -1.5, -1.5) * u_texelDelta.xyxy); v_texcoordNC1 = a_texcoord0.xyxy + (vec4(0.5, -0.5, 1.5, -1.5) * u_texelDelta.xyxy); v_texcoordNC2 = a_texcoord0.xyxy + (vec4(-0.5, 0.5, -1.5, 1.5) * u_texelDelta.xyxy); v_texcoordNC3 = a_texcoord0.xyxy + (vec4(0.5, 0.5, 1.5, 1.5) * u_texelDelta.xyxy); } 5 5 17 2024-12-01
Error in shader program link: info: Variable u_texelDelta has unmatched precision qualifier in different shaders fs: postshader #version 320 es precision mediump float; precision highp int; uniform vec2 u_texelDelta; layout(binding = 0) uniform mediump sampler2D sampler0; uniform vec2 u_pixelDelta; in vec2 v_texcoord0; in vec4 v_texcoord1; in vec4 v_texcoord2; in vec4 v_texcoord3; in vec4 v_texcoord4; in vec4 v_texcoord5; in vec4 v_texcoord6; in vec4 v_texcoord7; out vec4 _RESERVED_IDENTIFIER_FIXUP_gl_FragColor; vec4 RGBtoYUV(vec3 v0, vec3 v1, vec3 v2, vec3 v3) { float a = ((14.35200023651123046875 * v0.x) + (28.1760005950927734375 * v0.y)) + (5.4720001220703125 * v0.z); float b = ((14.35200023651123046875 * v1.x) + (28.1760005950927734375 * v1.y)) + (5.4720001220703125 * v1.z); float c = ((14.35200023651123046875 * v2.x) + (28.1760005950927734375 * v2.y)) + (5.4720001220703125 * v2.z); float d = ((14.35200023651123046875 * v3.x) + (28.1760005950927734375 * v3.y)) + (5.4720001220703125 * v3.z); return vec4(a, b, c, d); } bvec4 _and_(bvec4 A, bvec4 B) { return bvec4(A.x && B.x, A.y && B.y, A.z && B.z, A.w && B.w); } vec4 df(vec4 A, vec4 B) { return vec4(abs(A - B)); } bvec4 close(vec4 A, vec4 B) { vec4 param = A; vec4 param_1 = B; return lessThan(df(param, param_1), vec4(10.0)); } bvec4 _or_(bvec4 A, bvec4 B) { return bvec4(A.x || B.x, A.y || B.y, A.z || B.z, A.w || B.w); } bvec4 eq2(vec4 A, vec4 B) { vec4 param = A; vec4 param_1 = B; return lessThan(df(param, param_1), vec4(2.0)); } bvec4 eq3(vec4 A, vec4 B) { vec4 param = A; vec4 param_1 = B; return lessThan(vec4(2.0), df(param, param_1)); } vec4 weighted_distance(vec4 a, vec4 b, vec4 c, vec4 d, vec4 e, vec4 f, vec4 g, vec4 h) { vec4 param = a; vec4 param_1 = b; vec4 param_2 = a; vec4 param_3 = c; vec4 param_4 = d; vec4 param_5 = e; vec4 param_6 = d; vec4 param_7 = f; vec4 param_8 = g; vec4 param_9 = h; return (((df(param, param_1) + df(param_2, param_3)) + df(param_4, param_5)) + df(param_6, param_7)) + (df(param_8, param_9) * 4.0); } float c_df(vec3 c1, vec3 c2) { vec3 df_1 = abs(c1 - c2); return (df_1.x + df_1.y) + df_1.z; } void main() { vec2 fp = fract(v_texcoord0 * (vec2(1.0) / u_texelDelta)); vec3 A1 = texture(sampler0, v_texcoord1.xw).xyz; vec3 B1 = texture(sampler0, v_texcoord1.yw).xyz; vec3 C1 = texture(sampler0, v_texcoord1.zw).xyz; vec3 A = texture(sampler0, v_texcoord2.xw).xyz; vec3 B = texture(sampler0, v_texcoord2.yw).xyz; vec3 C = texture(sampler0, v_texcoord2.zw).xyz; vec3 D = texture(sampler0, v_texcoord3.xw).xyz; vec3 E = texture(sampler0, v_texcoord3.yw).xyz; vec3 F = texture(sampler0, v_texcoord3.zw).xyz; vec3 G = texture(sampler0, v_texcoord4.xw).xyz; vec3 H = texture(sampler0, v_texcoord4.yw).xyz; vec3 I = texture(sampler0, v_texcoord4.zw).xyz; vec3 G5 = texture(sampler0, v_texcoord5.xw).xyz; vec3 H5 = texture(sampler0, v_texcoord5.yw).xyz; vec3 I5 = texture(sampler0, v_texcoord5.zw).xyz; vec3 A0 = texture(sampler0, v_texcoord6.xy).xyz; vec3 D0 = texture(sampler0, v_texcoord6.xz).xyz; vec3 G0 = texture(sampler0, v_texcoord6.xw).xyz; vec3 C4 = texture(sampler0, v_texcoord7.xy).xyz; vec3 F4 = texture(sampler0, v_texcoord7.xz).xyz; vec3 I4 = texture(sampler0, v_texcoord7.xw).xyz; vec3 param = B; vec3 param_1 = D; vec3 param_2 = H; vec3 param_3 = F; vec4 b = RGBtoYUV(param, param_1, param_2, param_3); vec3 param_4 = C; vec3 param_5 = A; vec3 param_6 = G; vec3 param_7 = I; vec4 c = RGBtoYUV(param_4, param_5, param_6, param_7); vec3 param_8 = E; vec3 param_9 = E; vec3 param_10 = E; vec3 param_11 = E; vec4 e = RGBtoYUV(param_8, param_9, param_10, param_11); vec4 d = b.yzwx; vec4 f = b.wxyz; vec4 g = c.zwxy; vec4 h = b.zwxy; vec4 i = c.wxyz; vec3 param_12 = I4; vec3 param_13 = C1; vec3 param_14 = A0; vec3 param_15 = G5; vec4 i4 = RGBtoYUV(p 4 4 17 2024-01-23
Error in shader program link: info: Vertex info ----------- (0) : fatal error C9999: Can't convert to expr: 1f + @TMP0, 1f + @TMP1 fs: 00010000: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) v.a = 0.0; fragColor0 = v; } vs: 01700000:00120b18 HWX C T N Tex UVEnv Light: 0: c:0 t:0 1: c:0 t:0 2: c:0 t:0 #version 330 #define lowp #define mediump #define highp 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 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 vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; 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); 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_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); toLight = u_lightpos2; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse2 * u_matdiffuse) * max(ldot, 0.0); lightSum0.rgb += (u_lightambient2 * 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.xyzw = vec4(u_cullRangeMax.w); } } gl_Position = outPos; } 2 2 17 2020-05-29
Error in shader program link: info: Vertex info ----------- (0) : fatal error C9999: Can't convert to expr: 1f + @TMP0, 1f + @TMP1 fs: 00010000: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) v.a = 0.0; fragColor0 = v; } vs: 01f00000:00120b10 HWX T N Tex UVEnv Light: 0: c:0 t:0 1: c:0 t:0 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_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 vec3 u_lightpos3; 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; 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); 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_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); toLight = u_lightpos2; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse2 * u_matdiffuse) * max(ldot, 0.0); lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos3; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse3 * u_matdiffuse) * max(ldot, 0.0); lightSum0.rgb += (u_lightambient3 * 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.xyzw = vec4(u_cullRangeMax.w); } } gl_Position = outPos; } 1 1 17 2020-05-29
Error in shader program link: info: Error: Uniform u_texelDelta precision mismatch with other stage. Error: Linking failed. fs: postshader #version 320 es precision mediump float; precision highp int; layout(binding = 0) uniform mediump sampler2D sampler0; uniform vec2 u_texelDelta; in vec2 v_texcoord0; in vec2 v_texcoord1; out vec4 _RESERVED_IDENTIFIER_FIXUP_gl_FragColor; void main() { vec2 texcoordInPixels = v_texcoord0 * v_texcoord1; vec2 centerCoord = floor(texcoordInPixels) + vec2(0.5); vec2 distFromCenter = abs(centerCoord - texcoordInPixels); float Y = max(distFromCenter.x, distFromCenter.y); Y *= Y; float YY = Y * Y; float YYY = YY * Y; float LineWeight = YY - (2.7000000476837158203125 * YYY); LineWeight = 1.0 - (14.0 * LineWeight); vec3 colour = texture(sampler0, u_texelDelta * centerCoord).xyz * LineWeight; _RESERVED_IDENTIFIER_FIXUP_gl_FragColor = vec4(colour, 1.0); } vs: postshader #version 320 es uniform vec2 u_texelDelta; out vec2 v_texcoord0; in vec2 a_texcoord0; in vec4 a_position; out vec2 v_texcoord1; void main() { v_texcoord0 = a_texcoord0; gl_Position = a_position; v_texcoord1 = vec2(1.0) / u_texelDelta; } 6 6 16 2025-07-27
Error in shader program link: info: Vertex info ----------- (0) : fatal error C9999: Can't convert to expr: 1f + @TMP0, 1f + @TMP1 fs: 00000000:02800802 Tex LM 2x StenToAlphaDual StenUniform TFuncMod #version 330 #define lowp #define mediump #define highp uniform sampler2D tex; uniform float u_stencilReplaceValue; in vec4 v_color0; in vec3 v_color1; in mediump vec3 v_texcoord; out vec4 fragColor0; out vec4 fragColor1; 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 = clamp(v.rgb * 2.0, 0.0, 1.0); fragColor0 = vec4(v.rgb, u_stencilReplaceValue); fragColor1 = vec4(0.0, 0.0, 0.0, v.a); } vs: 01030000:00120b19 HWX C T N LM Tex UVEnv Light: 0: c:0 t:0 1: c:0 t:0 MatUp:3 #version 330 #define lowp #define mediump #define highp 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 vec3 u_lightpos1; uniform lowp vec4 u_ambient; 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; 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); vec4 outPos = 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(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.xyzw = vec4(u_cullRangeMax.w); } } gl_Position = outPos; } 3 3 16 2021-04-11
Error in shader program link: info: Vertex info ----------- (0) : fatal error C9999: Can't convert to expr: 1f + @TMP0, 1f + @TMP1 fs: 00000000:00000802 Tex LM TFuncMod #version 330 #define lowp #define mediump #define highp 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; fragColor0 = v; } vs: 01070000:00020b11 HWX T N LM Tex UVEnv Light: 0: c:0 t:0 MatUp:7 #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_lightpos0; 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; 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); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); mediump float ldot; v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = vec3(0.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_lightpos0) == 0.0 ? worldnormal.z : dot(normalize(u_lightpos0), 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.xyzw = vec4(u_cullRangeMax.w); } } gl_Position = outPos; } 1 1 16 2020-12-21
Error in shader program link: info: Vertex info ----------- (0) : fatal error C9999: Can't convert to expr: 1f + @TMP0, 1f + @TMP1 fs: 00000000:06200002 Tex Fog StenToAlphaDual Sten0 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; out vec4 fragColor1; 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 = vec4(v.rgb, 0.0); fragColor1 = vec4(0.0, 0.0, 0.0, v.a); } 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.xyzw = vec4(u_cullRangeMax.w); } } gl_Position = outPos; } 1 1 16 2020-12-02
Error in shader program link: info: Vertex info ----------- (0) : fatal error C9999: Can't convert to expr: 1f + @TMP0, 1f + @TMP1 fs: 00010000: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) v.a = 0.0; fragColor0 = v; } vs: 01300000:00120b10 HWX T N Tex UVEnv Light: 0: c:0 t:0 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_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_cullRangeMin; uniform highp vec4 u_cullRangeMax; 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); 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_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.xyzw = vec4(u_cullRangeMax.w); } } gl_Position = outPos; } 2 2 16 2020-05-29
Error in shader program link: info: Link Error: Fragment shader is missing. fs: 00004000:00200022 Tex TexAlpha Fog Flat TFuncMod #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; flat in vec4 v_color0; uniform vec3 u_fogcolor; in highp float v_fogdepth; in highp vec3 v_texcoord; inout vec4 fragColor0; 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 = v; } vs: 40000000:0000091c HWX C T Fog Tex Flat #version 300 es precision highp float; in vec3 position; 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; flat out lowp vec4 v_color0; out highp vec3 v_texcoord; out highp float v_fogdepth; 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 = color0; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; } 9 9 15 2026-10-28
Error in shader program link: info: Assertion failed: mov.DstRegId <= 127 && "Out of range for destination relative addressing" fs: 00010000:0020d022 Tex TexAlpha Fog 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; uniform vec3 u_fogcolor; in mediump float v_fogdepth; 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 fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); float aResult = texture(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) v.a = 0.0; fragColor0 = v; } 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 = iv 1 1 15 2022-06-10
Error in shader program link: info: Vertex info ----------- (0) : fatal error C9999: Can't convert to expr: 1f + @TMP0, 1f + @TMP1 fs: 00000000:0621d002 Tex Fog StenToAlphaDual Sten0 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; out vec4 fragColor1; 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); if (v.a < 0.002) discard; fragColor0 = vec4(v.rgb, 0.0); fragColor1 = vec4(0.0, 0.0, 0.0, v.a); } 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.xyzw = vec4(u_cullRangeMax.w); } } gl_Position = outPos; } 1 1 15 2020-12-02
Error in shader program link: info: Link failed because of missing shader. fs: thin3d #version 320 es // Driver: Mali-G52 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; in lowp vec4 oColor0; // COLOR0 in highp vec2 oTexCoord0; // TEXCOORD0 out vec4 fragColor0; void main() { vec4 col = texture(tex, oTexCoord0) * oColor0; col.rgb *= oColor0.a; fragColor0 = col; } vs: thin3d #version 320 es // Driver: Mali-G52 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) vec3 rgb2hsv(vec3 c) { vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g)); vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r)); float d = q.x - min(q.w, q.y); float e = 1.0e-10; return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); } vec3 hsv2rgb(vec3 c) { vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www); return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); } uniform mat4 WorldViewProj; uniform vec2 TintSaturation; in vec3 Position; in vec4 Color0; in vec2 TexCoord0; out lowp vec4 oColor0; // COLOR0 (0) out highp vec2 oTexCoord0; // TEXCOORD0 (1) void main() { gl_Position = mul(WorldViewProj, vec4(Position, 1.0)); vec3 hsv = rgb2hsv(Color0.xyz); hsv.x += TintSaturation.x; hsv.y *= TintSaturation.y; oColor0 = vec4(hsv2rgb(hsv), Color0.w); oTexCoord0 = TexCoord0; } 1 1 14 2026-11-15
Error in shader program link: info: Link failed because of missing shader. fs: thin3d #version 320 es // Driver: Mali-G52 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; in lowp vec4 oColor0; // COLOR0 in highp vec2 oTexCoord0; // TEXCOORD0 out vec4 fragColor0; void main() { vec4 col = texture(tex, oTexCoord0).zyxw * oColor0; col.rgb *= oColor0.a; fragColor0 = col; } vs: thin3d #version 320 es // Driver: Mali-G52 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) vec3 rgb2hsv(vec3 c) { vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g)); vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r)); float d = q.x - min(q.w, q.y); float e = 1.0e-10; return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); } vec3 hsv2rgb(vec3 c) { vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www); return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); } uniform mat4 WorldViewProj; uniform vec2 TintSaturation; in vec3 Position; in vec4 Color0; in vec2 TexCoord0; out lowp vec4 oColor0; // COLOR0 (0) out highp vec2 oTexCoord0; // TEXCOORD0 (1) void main() { gl_Position = mul(WorldViewProj, vec4(Position, 1.0)); vec3 hsv = rgb2hsv(Color0.xyz); hsv.x += TintSaturation.x; hsv.y *= TintSaturation.y; oColor0 = vec4(hsv2rgb(hsv), Color0.w); oTexCoord0 = TexCoord0; } 1 1 14 2026-11-15
Error in shader program link: info: Link Error: Vertex shader is missing. fs: 00000000:0021d002 Tex Fog 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; uniform vec3 u_fogcolor; in highp float v_fogdepth; in highp 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); if (v.a < 0.002) discard; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 00000000:0000091c HWX C T Fog Tex #version 300 es precision highp float; in vec3 position; 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; out lowp vec4 v_color0; out highp vec3 v_texcoord; out highp float v_fogdepth; 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 = color0; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; } 12 12 14 2026-10-31
Error in shader program link: info: Link failed because of missing vertex shader. fs: 00004000:00000002 Tex Flat TFuncMod #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require 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; gl_Position = u_proj_through * vec4(position.xyz, 1.0); } 9 9 14 2026-06-07
Error in shader program link: info: Link Error: Fragment shader is missing. fs: thin3d #version 320 es #ifdef GL_ES precision mediump float; #endif #ifdef GL_ES precision lowp float; #endif #if __VERSION__ >= 130 #define varying in #define texture2D texture #define gl_FragColor fragColor0 out vec4 fragColor0; #endif varying vec4 oColor0; varying vec2 oTexCoord0; uniform sampler2D Sampler0; void main() { gl_FragColor = texture2D(Sampler0, oTexCoord0).zyxw * oColor0; } vs: thin3d #version 320 es #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; uniform vec2 TintSaturation; vec3 rgb2hsv(vec3 c) { vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g)); vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r)); float d = q.x - min(q.w, q.y); float e = 1.0e-10; return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); } vec3 hsv2rgb(vec3 c) { vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www); return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); } void main() { gl_Position = WorldViewProj * vec4(Position, 1.0); vec3 hsv = rgb2hsv(Color0.xyz); hsv.x += TintSaturation.x; hsv.y *= TintSaturation.y; oColor0 = vec4(hsv2rgb(hsv), Color0.w); oTexCoord0 = TexCoord0; } 7 7 14 2026-04-27
Error in shader program link: info: Link failed because of invalid vertex shader. fs: postshader vs: postshader 2 2 14 2025-08-31
Error in shader program link: info: L0001 The fragment shader uniform floating-point u_texelDelta does not match the vertex shader uniform floating-point u_texelDelta. The precision does not match. fs: postshader #version 310 es precision mediump float; precision highp int; layout(binding = 0) uniform mediump sampler2D sampler0; uniform vec4 u_time; uniform vec2 u_texelDelta; uniform vec2 u_pixelDelta; in vec2 v_texcoord0; out vec4 _RESERVED_IDENTIFIER_FIXUP_gl_FragColor; mediump int SEPIA; mediump int GRAYSCALE; mediump int NEGATIVE; mediump int PSPCOLORS; 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() { SEPIA = 0; GRAYSCALE = 0; NEGATIVE = 0; PSPCOLORS = 1; vec3 color = texture(sampler0, v_texcoord0).xyz; vec3 colorB = color; mediump int hatsu = 0; vec3 blur = color * 1.2252061367034912109375; float param = color.x; float param_1 = blur.x; float param_2 = color.y; float param_3 = blur.y; float param_4 = color.z; float param_5 = blur.z; vec3 newcolor = vec3(overlay(param, param_1), overlay(param_2, param_3), overlay(param_4, param_5)); color = mix(color, newcolor, vec3(0.5)); vec4 sum = vec4(0.0); mediump int diffx = -1; mediump int diffy = 0; mediump int _109 = -diffy; for (mediump int i = _109; i < diffy; i++) { mediump int _120 = -diffx; for (mediump int j = _120; j < diffx; j++) { sum += (texture(sampler0, v_texcoord0 + (vec2(float(j), float(i)) * 0.00200000009499490261077880859375)) * 0.25); } } bool _151 = color.x < 0.300000011920928955078125; bool _157; if (_151) { _157 = color.y < 0.300000011920928955078125; } else { _157 = _151; } bool _163; if (_157) { _163 = color.z < 0.300000011920928955078125; } else { _163 = _157; } vec3 bloom; if (_163) { bloom = ((sum.xyz * sum.xyz) * 0.01200000010430812835693359375) + color; } else { bool _179 = color.x < 0.5; bool _185; if (_179) { _185 = color.y < 0.5; } else { _185 = _179; } bool _191; if (_185) { _191 = color.z < 0.5; } else { _191 = _185; } if (_191) { bloom = ((sum.xyz * sum.xyz) * 0.0089999996125698089599609375) + color; } else { bloom = ((sum.xyz * sum.xyz) * 0.0074999998323619365692138671875) + color; } } color = mix(color, bloom, vec3(0.5)); if (hatsu == 1) { color = mix(colorB, color, vec3(0.5)); } float sat = 1.7000000476837158203125; float brt = 1.10000002384185791015625; float con = 1.10000002384185791015625; float AvgLumR = 1.10000002384185791015625; float AvgLumG = 1.2999999523162841796875; float AvgLumB = 1.2000000476837158203125; if (SEPIA == 1) { sat = 0.00999999977648258209228515625; brt = 1.75; con = 1.0; AvgLumR = 0.439999997615814208984375; AvgLumG = 0.2599999904632568359375; AvgLumB = 0.07999999821186065673828125; } if (GRAYSCALE == 1) { sat = 0.0; brt = 1.0; con = 1.0; AvgLumR = 1.0; AvgLumG = 1.0; AvgLumB = 1.0; } if (NEGATIVE == 1) { sat = 1.0; brt = 1.0; con = -1.0; AvgLumR = 1.0; AvgLumG = 1.0; AvgLumB = 1.0; } if (PSPCOLORS == 1) { sat = 1.0; brt = 1.0; con = 1.0; AvgLumR = 0.959299981594085693359375; AvgLumG = 1.0738999843597412109375; AvgLumB = 1.46039998531341552734375; } vec3 AvgLumin = vec3(AvgLumR, AvgLumG, AvgLumB); vec3 conRGB = ve 3 3 14 2024-01-13
Error in shader program link: info: Vertex info ----------- (0) : fatal error C9999: Can't convert to expr: 1f + @TMP0, 1f + @TMP1 fs: 00000000:02800802 Tex LM 2x StenToAlphaDual StenUniform TFuncMod #version 410 #extension GL_EXT_gpu_shader4 : enable // GeForce 410M/PCI/SSE2 - GLSL 410 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; uniform float u_stencilReplaceValue; in lowp vec4 v_color0; in lowp vec3 v_color1; in mediump vec3 v_texcoord; out vec4 fragColor0; out vec4 fragColor1; 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 = clamp(v.rgb * 2.0, 0.0, 1.0); fragColor0 = vec4(v.rgb, u_stencilReplaceValue); fragColor1 = vec4(0.0, 0.0, 0.0, v.a); } vs: 01030000:00120b39 HWX C T N LM Tex UVEnv Light: 0: c:0 t:0 1: c:0 t:0 MatUp:3 Cull #version 410 #extension GL_EXT_gpu_shader4 : enable // GeForce 410M/PCI/SSE2 - GLSL 410 #define gl_VertexIndex gl_VertexID #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) 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 vec3 u_lightpos1; uniform lowp vec4 u_ambient; 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 lowp vec3 v_color1; out mediump vec3 v_texcoord; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(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 = splat3(0.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; float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w; if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -outPos.w) { if (projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y || projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y) { outPos.xyzw = u_cullRangeMax.wwww; } } if (u_cullRangeMin.w <= 0.0) { if (projPos.z < u_cullRangeMin.z || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_ClipDistance[0] = projZ * outPos.w + outPos.w; gl_Position = outPos; } 2 2 14 2023-06-08
Error in shader program link: info: Vertex info ----------- (0) : fatal error C9999: Can't convert to expr: 1f + @TMP0, 1f + @TMP1 fs: 00000000:00800802 Tex LM 2x TFuncMod #version 330 #define lowp #define mediump #define highp 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 = clamp(v.rgb * 2.0, 0.0, 1.0); fragColor0 = v; } vs: 01030000:00120b19 HWX C T N LM Tex UVEnv Light: 0: c:0 t:0 1: c:0 t:0 MatUp:3 #version 330 #define lowp #define mediump #define highp 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 vec3 u_lightpos1; uniform lowp vec4 u_ambient; 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; 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); vec4 outPos = 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(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.xyzw = vec4(u_cullRangeMax.w); } } gl_Position = outPos; } 2 2 14 2021-01-02
Error in shader program link: info: Link failed because of missing vertex shader. fs: 00000000:00200022 Tex TexAlpha Fog TFuncMod #version 300 es #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; 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 = v; } vs: 00000000:0000001c C Fog Tex #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform highp vec2 u_fogcoef; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; v_fogdepth = position.w; gl_Position = u_proj * vec4(position.xyz, 1.0); } 6 6 13 2026-11-05
Error in shader program link: info: Link Error: Fragment shader is missing. fs: 00004000:0001d022 Tex TexAlpha Flat TFuncMod AlphaTest0 > #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; flat in vec4 v_color0; in highp 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: 40000000:00000910 HWX T Tex Flat #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; flat out lowp vec4 v_color0; out highp 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); } 8 8 13 2026-09-24
Error in shader program link: info: Link failed because of missing fragment shader. fs: 00004000:0001d022 Tex TexAlpha Flat TFuncMod AlphaTest0 > #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; 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 = p * t; if (v.a < 0.002) discard; fragColor0 = v; } vs: 40000000:00000910 HWX T Tex Flat #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; flat 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); } 9 9 13 2026-07-22
Error in shader program link: info: Error: Uniform u_texelDelta precision mismatch with other stage. Error: Linking failed. fs: postshader #version 310 es precision mediump float; precision highp int; uniform vec2 u_texelDelta; uniform vec2 u_pixelDelta; layout(binding = 0) uniform mediump sampler2D sampler0; uniform vec4 u_time; in vec2 v_texcoord0; out vec4 _RESERVED_IDENTIFIER_FIXUP_gl_FragColor; in vec4 v_texcoordNC0; in vec4 v_texcoordNC1; in vec4 v_texcoordNC2; in vec4 v_texcoordNC3; mediump int SEPIA; mediump int GRAYSCALE; mediump int NEGATIVE; mediump int PSPCOLORS; bvec4 _and_(bvec4 A, bvec4 B) { return bvec4(A.x && B.x, A.y && B.y, A.z && B.z, A.w && B.w); } vec4 df(vec4 A, vec4 B) { return abs(A - B); } bvec4 close(vec4 A, vec4 B) { vec4 param = A; vec4 param_1 = B; return lessThan(df(param, param_1), vec4(15.0)); } bvec4 _or_(bvec4 A, bvec4 B) { return bvec4(A.x || B.x, A.y || B.y, A.z || B.z, A.w || B.w); } vec4 weighted_distance(vec4 a, vec4 b, vec4 c, vec4 d, vec4 e, vec4 f, vec4 g, vec4 h) { vec4 param = a; vec4 param_1 = b; vec4 param_2 = a; vec4 param_3 = c; vec4 param_4 = d; vec4 param_5 = e; vec4 param_6 = d; vec4 param_7 = f; vec4 param_8 = g; vec4 param_9 = h; return (((df(param, param_1) + df(param_2, param_3)) + df(param_4, param_5)) + df(param_6, param_7)) + (df(param_8, param_9) * 4.0); } vec3 processxBR(vec3 color) { vec2 pS = vec2(1.0) / u_texelDelta; vec2 fp = fract(v_texcoord0 * pS); vec2 TexCoord_0 = v_texcoord0 - (fp * u_pixelDelta); 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 = texture(sampler0, (TexCoord_0 - dx) - dy).xyz; vec3 B = texture(sampler0, TexCoord_0 - dy).xyz; vec3 C = texture(sampler0, (TexCoord_0 + dx) - dy).xyz; vec3 D = texture(sampler0, TexCoord_0 - dx).xyz; vec3 E = texture(sampler0, TexCoord_0).xyz; vec3 F = texture(sampler0, TexCoord_0 + dx).xyz; vec3 G = texture(sampler0, (TexCoord_0 - dx) + dy).xyz; vec3 H = texture(sampler0, TexCoord_0 + dy).xyz; vec3 I = texture(sampler0, (TexCoord_0 + dx) + dy).xyz; vec3 A1 = texture(sampler0, (TexCoord_0 - dx) - y2).xyz; vec3 C1 = texture(sampler0, (TexCoord_0 + dx) - y2).xyz; vec3 A0 = texture(sampler0, (TexCoord_0 - x2) - dy).xyz; vec3 G0 = texture(sampler0, (TexCoord_0 - x2) + dy).xyz; vec3 C4 = texture(sampler0, (TexCoord_0 + x2) - dy).xyz; vec3 I4 = texture(sampler0, (TexCoord_0 + x2) + dy).xyz; vec3 G5 = texture(sampler0, (TexCoord_0 - dx) + y2).xyz; vec3 I5 = texture(sampler0, (TexCoord_0 + dx) + y2).xyz; vec3 B1 = texture(sampler0, TexCoord_0 - y2).xyz; vec3 D0 = texture(sampler0, TexCoord_0 - x2).xyz; vec3 H5 = texture(sampler0, TexCoord_0 + y2).xyz; vec3 F4 = texture(sampler0, TexCoord_0 + x2).xyz; vec4 b = vec4(dot(B, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(D, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(H, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(F, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375))); vec4 c = vec4(dot(C, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(A, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(G, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(I, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375))); vec4 d = vec4(b.y, b.z, b.w, b.x); vec4 e = vec4(dot(E, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375))); 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, c.x, c.y, c.z); vec4 i4 = vec4(dot(I4, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(C1, vec3(16.1630001068115234375, 23.3509998321533203125, 8.4771995544 5 5 13 2023-10-08
Error in shader program link: info: Vertex info ----------- (0) : fatal error C9999: Can't convert to expr: 1f + @TMP0, 1f + @TMP1 fs: 00000000:06000002 Tex StenToAlphaDual Sten0 TFuncMod #version 330 #define lowp #define mediump #define highp uniform sampler2D tex; in vec4 v_color0; in mediump vec3 v_texcoord; out vec4 fragColor0; out vec4 fragColor1; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a); fragColor0 = vec4(v.rgb, 0.0); fragColor1 = vec4(0.0, 0.0, 0.0, v.a); } vs: 00000000:003e0310 HWX N Tex UVEnv 3: c:0 t:0 #version 330 #define lowp #define mediump #define highp in vec3 position; in mediump vec3 normal; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos3; 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; 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_lightpos3) == 0.0 ? worldnormal.z : dot(normalize(u_lightpos3), worldnormal)), 1.0 + (length(u_lightpos3) == 0.0 ? worldnormal.z : dot(normalize(u_lightpos3), 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.xyzw = vec4(u_cullRangeMax.w); } } gl_Position = outPos; } 1 1 13 2020-12-21
Error in shader program link: info: Vertex info ----------- (0) : fatal error C9999: Can't convert to expr: 1f + @TMP0, 1f + @TMP1 fs: 00000000:0a200002 Tex Fog StenToAlphaDual Sten1 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; out vec4 fragColor1; 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 = vec4(v.rgb, 1.0); fragColor1 = vec4(0.0, 0.0, 0.0, v.a); } vs: 00000000:003e0314 HWX N Fog Tex UVEnv 3: c:0 t:0 #version 330 #define lowp #define mediump #define highp in vec3 position; in mediump vec3 normal; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; 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_lightpos3) == 0.0 ? worldnormal.z : dot(normalize(u_lightpos3), 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.xyzw = vec4(u_cullRangeMax.w); } } gl_Position = outPos; } 1 1 13 2020-12-21
Error in shader program link: info: Link failed because of missing shader. fs: thin3d #version 320 es // Driver: Mali-G68 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; in lowp vec4 oColor0; // COLOR0 in highp vec2 oTexCoord0; // TEXCOORD0 out vec4 fragColor0; void main() { vec4 col = texture(tex, oTexCoord0) * oColor0; col.rgb *= oColor0.a; fragColor0 = col; } vs: thin3d #version 320 es // Driver: Mali-G68 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) vec3 rgb2hsv(vec3 c) { vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g)); vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r)); float d = q.x - min(q.w, q.y); float e = 1.0e-10; return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); } vec3 hsv2rgb(vec3 c) { vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www); return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); } uniform mat4 WorldViewProj; uniform vec2 TintSaturation; in vec3 Position; in vec4 Color0; in vec2 TexCoord0; out lowp vec4 oColor0; // COLOR0 (0) out highp vec2 oTexCoord0; // TEXCOORD0 (1) void main() { gl_Position = mul(WorldViewProj, vec4(Position, 1.0)); vec3 hsv = rgb2hsv(Color0.xyz); hsv.x += TintSaturation.x; hsv.y *= TintSaturation.y; oColor0 = vec4(hsv2rgb(hsv), Color0.w); oTexCoord0 = TexCoord0; } 1 1 12 2026-11-13
Error in shader program link: info: Link failed because of missing shader. fs: thin3d #version 320 es // Driver: Mali-G68 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; in lowp vec4 oColor0; // COLOR0 in highp vec2 oTexCoord0; // TEXCOORD0 out vec4 fragColor0; void main() { vec4 col = texture(tex, oTexCoord0).zyxw * oColor0; col.rgb *= oColor0.a; fragColor0 = col; } vs: thin3d #version 320 es // Driver: Mali-G68 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) vec3 rgb2hsv(vec3 c) { vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g)); vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r)); float d = q.x - min(q.w, q.y); float e = 1.0e-10; return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); } vec3 hsv2rgb(vec3 c) { vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www); return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); } uniform mat4 WorldViewProj; uniform vec2 TintSaturation; in vec3 Position; in vec4 Color0; in vec2 TexCoord0; out lowp vec4 oColor0; // COLOR0 (0) out highp vec2 oTexCoord0; // TEXCOORD0 (1) void main() { gl_Position = mul(WorldViewProj, vec4(Position, 1.0)); vec3 hsv = rgb2hsv(Color0.xyz); hsv.x += TintSaturation.x; hsv.y *= TintSaturation.y; oColor0 = vec4(hsv2rgb(hsv), Color0.w); oTexCoord0 = TexCoord0; } 1 1 12 2026-11-13
Error in shader program link: info: Link Error: Vertex shader is missing. fs: 00004000:00000022 Tex TexAlpha Flat TFuncMod #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; flat in vec4 v_color0; in highp vec3 v_texcoord; inout vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; fragColor0 = v; } vs: 40000000:00000910 HWX T Tex Flat #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; flat out lowp vec4 v_color0; out highp 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); } 8 8 12 2026-10-31
Error in shader program link: info: Link Error: Vertex shader is missing. fs: 00004000:0001d000 Flat AlphaTest0 > #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D testtex; flat in vec4 v_color0; inout vec4 fragColor0; void main() { vec4 v = v_color0 ; if (v.a < 0.002) discard; fragColor0 = v; } vs: 40000000:00000002 THR Flat #version 300 es precision highp float; in vec4 position; in lowp vec4 color0; uniform mat4 u_proj_through; flat out lowp vec4 v_color0; void main() { v_color0 = color0; gl_Position = u_proj_through * vec4(position.xyz, 1.0); } 7 7 12 2026-08-12
Error in shader program link: info: Link failed because of missing vertex shader. fs: 00000000:0001d002 Tex 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 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:00000918 HWX C T Tex #version 300 es precision highp float; in vec3 position; 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 = vec3(0.0, 0.0, 1.0); 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); } 6 6 12 2026-07-22
Error in shader program link: info: Link failed because of missing vertex shader. fs: 00004000:00000002 Tex Flat TFuncMod #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; flat 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: 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; gl_Position = u_proj_through * vec4(position.xyz, 1.0); } 6 6 12 2026-06-16
Error in shader program link: info: (unknown reason) fs: thin3d #ifdef GL_ES precision mediump float; #endif #ifdef GL_ES precision lowp float; #endif #if __VERSION__ >= 130 #define varying in #define texture2D texture #define gl_FragColor fragColor0 out vec4 fragColor0; #endif varying vec4 oColor0; varying vec2 oTexCoord0; uniform sampler2D Sampler0; void main() { gl_FragColor = texture2D(Sampler0, oTexCoord0).zyxw * oColor0; } 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; } 10 10 12 2025-01-28
Error in shader program link: info: L0001 The fragment shader uniform floating-point u_pixelDelta does not match the vertex shader uniform floating-point u_pixelDelta. The precision does not match. fs: postshader #version 310 es precision mediump float; precision highp int; layout(binding = 0) uniform mediump sampler2D sampler0; uniform vec2 u_texelDelta; uniform vec4 u_time; uniform vec2 u_pixelDelta; in vec2 v_texcoord0; out vec4 _gl_FragColor; vec3 processFXAA(inout vec3 color) { float FXAA_SPAN_MAX = 8.0; float FXAA_REDUCE_MUL = 0.125; float FXAA_REDUCE_MIN = 0.0078125; vec3 rgbNW = texture(sampler0, v_texcoord0 + (vec2(-1.0) * u_texelDelta)).xyz; vec3 rgbNE = texture(sampler0, v_texcoord0 + (vec2(1.0, -1.0) * u_texelDelta)).xyz; vec3 rgbSW = texture(sampler0, v_texcoord0 + (vec2(-1.0, 1.0) * u_texelDelta)).xyz; vec3 rgbSE = texture(sampler0, v_texcoord0 + (vec2(1.0) * u_texelDelta)).xyz; vec3 rgbM = texture(sampler0, v_texcoord0).xyz; vec3 luma = vec3(0.2989999949932098388671875, 0.58700001239776611328125, 0.114000000059604644775390625); float lumaNW = dot(rgbNW, luma); float lumaNE = dot(rgbNE, luma); float lumaSW = dot(rgbSW, luma); float lumaSE = dot(rgbSE, luma); float lumaM = dot(rgbM, luma); float lumaMin = min(lumaM, min(min(lumaNW, lumaNE), min(lumaSW, lumaSE))); float lumaMax = max(lumaM, max(max(lumaNW, lumaNE), max(lumaSW, lumaSE))); vec2 dir; dir.x = -((lumaNW + lumaNE) - (lumaSW + lumaSE)); dir.y = (lumaNW + lumaSW) - (lumaNE + lumaSE); float dirReduce = max((((lumaNW + lumaNE) + lumaSW) + lumaSE) * (0.25 * FXAA_REDUCE_MUL), FXAA_REDUCE_MIN); float rcpDirMin = 1.0 / (min(abs(dir.x), abs(dir.y)) + dirReduce); dir = min(vec2(FXAA_SPAN_MAX, FXAA_SPAN_MAX), max(vec2(-FXAA_SPAN_MAX, -FXAA_SPAN_MAX), dir * rcpDirMin)) * u_texelDelta; vec3 rgbA = (texture(sampler0, v_texcoord0 + (dir * (-0.16666667163372039794921875))).xyz + texture(sampler0, v_texcoord0 + (dir * 0.16666667163372039794921875)).xyz) * 0.5; vec3 rgbB = (rgbA * 0.5) + ((texture(sampler0, v_texcoord0 + (dir * (-0.5))).xyz + texture(sampler0, v_texcoord0 + (dir * 0.5)).xyz) * 0.25); float lumaB = dot(rgbB, luma); if ((lumaB < lumaMin) || (lumaB > lumaMax)) { color = rgbA; } else { color = rgbB; } return color; } vec3 processBLOOM(inout vec3 color, vec3 colorB, mediump int hatsu) { vec4 sum = vec4(0.0); mediump int diffx = 0; mediump int diffy = 1; for (mediump int ib = -diffy; ib < diffy; ib++) { for (mediump int jb = -diffx; jb < diffx; jb++) { sum += (texture(sampler0, v_texcoord0 + (vec2(float(jb), float(ib)) * 0.00200000009499490261077880859375)) * 0.14000000059604644775390625); } } float _305 = color.x; bool _307 = _305 < 0.300000011920928955078125; bool _313; if (_307) { _313 = color.y < 0.300000011920928955078125; } else { _313 = _307; } bool _320; if (_313) { _320 = color.z < 0.300000011920928955078125; } else { _320 = _313; } vec3 bloom; if (_320) { bloom = ((sum.xyz * sum.xyz) * 0.01200000010430812835693359375) + color; } else { float _335 = color.x; bool _336 = _335 < 0.5; bool _342; if (_336) { _342 = color.y < 0.5; } else { _342 = _336; } bool _348; if (_342) { _348 = color.z < 0.5; } else { _348 = _342; } if (_348) { bloom = ((sum.xyz * sum.xyz) * 0.0089999996125698089599609375) + color; } else { bloom = ((sum.xyz * sum.xyz) * 0.0074999998323619365692138671875) + color; } } color = mix(color, bloom, vec3(1.2999999523162841796875)); if (hatsu == 1) { color = mix(colorB, color, vec3(0.5)); } return color; } vec3 processSHADEBOOS 1 1 12 2024-12-05
Error in shader program link: info: Vertex info ----------- error: unknown builtin varying parameter (named gl_ClipDistance[0]) encountered error: unknown builtin varying parameter (named gl_ClipDistance[1]) encountered error: unknown builtin varying parameter (named gl_ClipDistance[2]) encountered error: unknown builtin varying parameter (named gl_ClipDistance[3]) encountered error: unknown builtin varying parameter (named gl_ClipDistance[4]) encountered error: unknown builtin varying parameter (named gl_ClipDistance[5]) encountered fs: 00180000:00000402 Tex TexAlpha TFuncMod #version 130 #extension GL_EXT_gpu_shader4 : enable // Driver: GeForce GT 240M/PCI/SSE2 - GLSL 130 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00180000:00000402 Tex TexAlpha TFuncMod uniform sampler2D tex; in lowp vec4 v_color0; 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; fragColor0 = v; } vs: 00000000:00000928 HWX C T Cull #version 130 #extension GL_EXT_gpu_shader4 : enable // Driver: GeForce GT 240M/PCI/SSE2 - GLSL 130 #define gl_VertexIndex gl_VertexID #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:00000928 HWX C T Cull in vec3 position; 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_depthRange; 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; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(0.0, 0.0, 1.0, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = u_matambientalpha; v_color0 = color0; 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; float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w; if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -outPos.w) { if ((projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y) || (projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y)) { outPos.xyzw = u_cullRangeMax.wwww; } } if (u_cullRangeMin.w <= 0.0) { if (projPos.z < u_cullRangeMin.z || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_ClipDistance[0] = projZ * outPos.w + outPos.w + 0.000001; gl_Position = outPos; } 1 1 12 2024-03-14
Error in shader program link: info: Vertex info ----------- (0) : fatal error C9999: Can't convert to expr: 1f + @TMP0, 1f + @TMP1 fs: 00000000:00800802 Tex LM 2x TFuncMod #version 410 #extension GL_EXT_gpu_shader4 : enable // GeForce 410M/PCI/SSE2 - GLSL 410 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; in lowp vec4 v_color0; in lowp 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 = clamp(v.rgb * 2.0, 0.0, 1.0); fragColor0 = v; } vs: 01030000:00120b39 HWX C T N LM Tex UVEnv Light: 0: c:0 t:0 1: c:0 t:0 MatUp:3 Cull #version 410 #extension GL_EXT_gpu_shader4 : enable // GeForce 410M/PCI/SSE2 - GLSL 410 #define gl_VertexIndex gl_VertexID #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) 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 vec3 u_lightpos1; uniform lowp vec4 u_ambient; 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 lowp vec3 v_color1; out mediump vec3 v_texcoord; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(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 = splat3(0.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; float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w; if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -outPos.w) { if (projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y || projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y) { outPos.xyzw = u_cullRangeMax.wwww; } } if (u_cullRangeMin.w <= 0.0) { if (projPos.z < u_cullRangeMin.z || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_ClipDistance[0] = projZ * outPos.w + outPos.w; gl_Position = outPos; } 1 1 12 2023-06-08
Error in shader program link: info: Link Error: Fragment shader was not successfully compiled. fs: postshader // PPSSPP: Grabbed from Processing and slightly modified. // FXAA shader, GLSL code adapted from: // http://horde3d.org/wiki/index.php5?title=Shading_Technique_-_FXAA // Whitepaper describing the technique: // http://developer.download.nvidia.com/assets/gamedev/files/sdk/11/FXAA_WhitePaper.pdf //====================================================================================================================================================================== //Extra options: #define FXAA 0 //ON:1/OFF:0 /default FXAA, info above //there's no extra config for fxaa here since from what I checked this simple fxaa version offers only more blur or less aa;c, you can check it yourself below //================ #define GAUSS_SQ 0 //ON:1/OFF:0 /full square gauss filtering, don't use with either FXAA nor sharpen filters #define Gsmoothing 3.5 //Default: 3.5 /increase for smoother(blurry) graphics //================ #define GAUSS_S 0 //ON:1/OFF:0 /simple gauss filtering by Bigpet, slightly different from above /you can find standalone in https://github.com/hrydgard/ppsspp/issues/7242 //================ #define MIKU 0 //Hatsune<3 this is an optional filter for all those pale anime faces which get white with bloom/colored:P tested on Miku in white dress //================ #define BLOOM 0 //ON:1/OFF:0 /bloom implementation from "my heroics" blog http://myheroics.wordpress.com/2008/09/04/glsl-bloom-shader/ #define samples 4 //Default: 4 /higher = more glow, worser performance #define quality 0.25 //Default: 0.25 /lower = smaller glow, better quality #define factor 0.002 //Default: 0.002 /just an extra tweak for the bloom slightly higher values might look better in some cases, but too much can cause artifacts #define Bpower 0.5 //Default: 0.5 /amount of bloom mixed //================ #define COLORED 1 //ON:1/OFF:0 /coloring part of KrossX Overlay Bloom shader from here http://www.mediafire.com/krossx#ste5pa5ijfa0o #define Cpower 0.3 //Default: 0.5 /amount of effect mixed //================ #define SHARPEN 0 //ON:1/OFF:0 /a simple sharpen filter, might be counterproductive to FXAA and BLOOM, hence disabled by default #define value 7.5 //Default: 7.5 /higher = more visible effect //================ #define S_COM_V2 0 //Sharpen Complex v2 from https://github.com/mpc-hc similar to above in effect, maybe more accurate #define S_val0 5.0 //Default: 5.0 /higher ~ increases sharpness /negative ~ can add extra blurr/strange effect //================ #define SHADEBOOST 1 //ON:1/OFF:0 /color correction from GSdx/pcsx2 plugin, initially taken from http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=21057 #define saturation 1.1 //Default: 1.0 //negative will look like inverted colors shader #define brightness 2.5 //Default: 1.0 #define contrast 1.23 //Default: 1.0 //negative will be... well negative;p #define red 0.55 //Default: 1.0 #define green 0.55 //Default: 1.0 #define blue 0.55 //Default: 1.0 //Shadeboost presets: //Shadeboost must be activated, presets override options above int SEPIA = 0; //Moody coolors:) int GRAYSCALE = 0; //Just for lols? int NEGATIVE = 0; //As above int PSPCOLORS = 0; //Makes the colors as on older PSP screens(colder) //All presets are simple switch ON:1/OFF:0, //================ #define GAMMA 1 //simple gamma function after reading http://filmicgames.com/archives/299 #define correction 1.2 //Default: 1.0 //================ #define SCANLINES 0 //Ugly lines which never existed on psp, yet are popular among some people(I had to, sorry:P) #define SLsize 1 //Default: 1 /basically sets how wide each line is, from 1 to looks_weird_when_too_high #define SLcolor 1.8 //Default: 2.8 /brightens screen to compensate for dark lines #define SLpower 0.4 //Default: 0.4 /less/more = dar 4 4 12 2023-03-14
Error in shader program link: info: The qualification for varying variable v_color0 does not match in output and input shaders cannot find a matched output for input v_color0 fs: 00000000:00000000 #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // PowerVR Rogue GE8300 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) in lowp vec4 v_color0; out vec4 fragColor0; void main() { vec4 v = v_color0 ; fragColor0 = v; } vs: 40000000:00000930 HWX T Tex Flat Cull #version 320 es // PowerVR Rogue GE8300 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) 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; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; flat out lowp vec4 v_color0; out mediump vec3 v_texcoord; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); v_color0 = u_matambientalpha; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 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.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; } 1 1 12 2022-09-03
Error in shader program link: info: The qualification for varying variable v_color0 does not match in output and input shaders cannot find a matched output for input v_color0 fs: 00000000:00000000 #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // PowerVR Rogue GE8300 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) in lowp vec4 v_color0; out vec4 fragColor0; void main() { vec4 v = v_color0 ; fragColor0 = v; } vs: 40000000:00000002 THR Flat #version 320 es // PowerVR Rogue GE8300 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) in vec4 position; in lowp vec4 color0; uniform mat4 u_proj_through; flat out lowp vec4 v_color0; void main() { v_color0 = color0; vec4 outPos = mul(u_proj_through, vec4(position.xyz, 1.0)); gl_Position = outPos; } 1 1 12 2022-09-03
Error in shader program link: info: The qualification for varying variable v_color0 does not match in output and input shaders cannot find a matched output for input v_color0 fs: 00000000:00000000 #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // PowerVR Rogue GE8300 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) in lowp vec4 v_color0; out vec4 fragColor0; void main() { vec4 v = v_color0 ; fragColor0 = v; } vs: 40000000:00000934 HWX T Fog Tex Flat Cull #version 320 es // PowerVR Rogue GE8300 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) 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; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; flat out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); v_color0 = u_matambientalpha; 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_cullRangeMin.y || projPos.z < u_cullRangeMin.z || projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; } 1 1 12 2022-09-03
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: 01070000:003a031c HWX C N Fog Tex UVEnv Light: 2: c:0 t:0 3: c:0 t:0 MatUp:7 #version 330 #define lowp #define mediump #define highp in vec3 position; in mediump vec3 normal; in lowp vec4 color0; 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_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; 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 * color0 + vec4(u_matemissive, 0.0); mediump float ldot; v_color0 = clamp(lightSum0, 0.0, 1.0); 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.xyzw = vec4(u_cullRangeMax.w); } } gl_Position = outPos; } 1 1 12 2022-01-08
Error in shader program link: info: Link failed because of missing vertex shader. fs: 00004000:0001d000 Flat AlphaTest0 > #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D testtex; flat in vec4 v_color0; out vec4 fragColor0; void main() { vec4 v = v_color0 ; if (v.a < 0.002) discard; fragColor0 = v; } vs: 40000000:00000002 THR Flat #version 300 es precision highp float; in vec4 position; in lowp vec4 color0; uniform mat4 u_proj_through; flat out lowp vec4 v_color0; void main() { v_color0 = color0; gl_Position = u_proj_through * vec4(position.xyz, 1.0); } 6 6 11 2026-10-04

Next »