Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.1.0
-
None
-
d443eff5b67fdf51cb3f1aca763bd3c407158720
Description
According to section 10.3 of http://www.khronos.org/registry/gles/specs/2.0/GLSL_ES_Specification_1.0.17.pdf, "precision qualifiers for uniforms must match."
The RadialGradientBrush shaders (in src/gui/opengl/qopenglengineshadersource_p.h and src/opengl/gl2paintengineex/qglengineshadersource_p.h) specify a
uniform highp vec3 bradius
for both the vertex and fragment shaders. However, with OpenGL ES 2.0, Qt may redefine highp as mediump in the fragment shader (see e.g. QOpenGL_REDEFINE_HIGHP).
This has been seen to cause shader compilation problems on a Mali GPU, complaining about uniform precision mismatch. See https://github.com/mer-packages/qtbase/commit/13f7434c7abd921132d4283b5cccf406e7f5ce36 for a workaround.