Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.15
-
None
-
-
5fb20a61c9 (qt/tqtc-qtbase/5.15)
Description
Our application doesn't start up properly on some customers' computers.
The log files shows the following:
2022.03.02 17:40:30.734 [W] QOpenGLShader::compile(Fragment): ERROR: 4:1: 'textureSampler' : syntax error syntax error 2022.03.02 17:40:30.734 [W] *** Problematic Fragment shader source code *** #version 110 #ifdef GL_KHR_blend_equation_advanced #extension GL_ARB_fragment_coord_conventions : enable #extension GL_KHR_blend_equation_advanced : enable #endif #define lowp #define mediump #define highp #line 1 varying highp vec2 uv;uniform sampler2DRect textureSampler;uniform bool swizzle;uniform highp float opacity;void main() { highp vec4 tmpFragColor = texture2DRect(textureSampler,uv); tmpFragColor.a *= opacity; gl_FragColor = swizzle ? tmpFragColor.bgra : tmpFragColor;} ***
I've tracked this down to this recent change in Qt 5.15 tqtc branch:
https://codereview.qt-project.org/c/qt/tqtc-qtbase/+/383480
With some Intel drivers/cards, the new 'supportsRectangleTarget' returns true, but then the glsl fails to compile.
I have seen this on two machines:
Manufacturer = Hewlett-Packard Model = HP EliteDesk 800 G1 SFF CPU = Intel(R) Core(TM) i5-4590 CPU @ 3.30GHz Driver Renderer = Intel(R) HD Graphics 4600 Driver Version = 4.3.0 - Build 20.19.15.5126
and
Manufacturer = HP Model = HP Pavilion x360 Convertible SystemType = x64-based PC CPU = Intel(R) Celeron(R) CPU N3050 @ 1.60GHz Driver Renderer = Intel(R) HD Graphics Driver Version = 4.4.0 - Build 20.19.15.4835 Driver GLSL = 4.40 - Build 20.19.15.4835
The way the code is written, if supportsRectangleTarget() returns true, but then the glsl doesn't compile, the blitter is unusable.