https://bugs.kde.org/show_bug.cgi?id=363749

s...@zxc.pp.ua changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |s...@zxc.pp.ua

--- Comment #2 from s...@zxc.pp.ua ---
I can confirm this bug. It's still appear with kscreenlocker versions 5.8.3 -
5.8.5.

Memory leak amount is ~ 250mB per hour. 

In testing mode it produce:

***
QOpenGLShader::link: error: program lacks a fragment shader

shader compilation failed: 
"error: program lacks a fragment shader\n"
QOpenGLShader::link: error: program lacks a fragment shader

QOpenGLShader::compile(Fragment): 0:6(2): error: No precision specified in this
scope for type `vec4'
0:7(2): error: No precision specified in this scope for type `float'
0:8(2): error: No precision specified in this scope for type `float'
0:9(2): error: No precision specified in this scope for type `float'
0:9(22): error: initializer of global variable `outerRadius' must be a constant
expression
0:10(2): error: No precision specified in this scope for type `vec4'
0:13(2): error: No precision specified in this scope for type `vec4'
0:15(2): error: No precision specified in this scope for type `vec2'
0:16(2): error: No precision specified in this scope for type `float'

*** Problematic Fragment shader source code ***
#ifndef GL_FRAGMENT_PRECISION_HIGH
#define highp mediump
#endif
#line 1

                        varying highp vec2 qt_TexCoord0;
                        uniform highp float qt_Opacity;
                        uniform lowp sampler2D source;

                        uniform vec4 colorBorder;
                        float blend = 0.01;
                        float innerRadius = 0.47;
                        float outerRadius = innerRadius + 0.02;
                        vec4 colorEmpty = vec4(0.0, 0.0, 0.0, 0.0);

                        void main() {
                            vec4 colorSource = texture2D(source,
qt_TexCoord0.st);

                            vec2 m = qt_TexCoord0 - vec2(0.5, 0.5);
                            float dist = sqrt(m.x * m.x + m.y * m.y);

                            if (dist < innerRadius)
                                gl_FragColor = colorSource;
                            else if (dist < innerRadius + blend)
                                gl_FragColor = mix(colorSource, colorBorder,
((dist - innerRadius) / blend));
                            else if (dist < outerRadius)
                                gl_FragColor = colorBorder;
                            else if (dist < outerRadius + blend)
                                gl_FragColor = mix(colorBorder, colorEmpty,
((dist - outerRadius) / blend));
                            else
                                gl_FragColor = colorEmpty ;

                            gl_FragColor = gl_FragColor * qt_Opacity;
                    }

***

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to