ubuntu-sdk-bugs team mailing list archive
-
ubuntu-sdk-bugs team
-
Mailing list archive
-
Message #07836
[Bug 1749472] [NEW] mesa 18.0.0 will cause rendering errors in Qt applications
Public bug reported:
From: https://bugreports.qt.io/browse/QTBUG-66348
** extract **
The `QOpenGLShaderProgram` class in Qt can be used to compile and link
OpenGL shaders. If the `GL_ARB_get_program_binary` OpenGL extension is
available, it can cache those shaders on disk (~/.cache/qtshadercache).
The i965 driver in Mesa supports this extension since version 18.0.0.
When the shader is loaded using the `glProgramBinary` function, OpenGL
can refuse it if for example some hardware or software component
changed. Mesa refuses binaries that were created by any other build of
Mesa (using among other things the build_id of the library).
If the shader is refused, Qt should fallback to compiling it from
sources, but it incorrectly calls glLinkProgram first. The glLinkProgram
succeeds, because it actually links 0 shaders together. That is allowed
in OpenGL compatibility profile and the resulting program works as a
fixed pipeline. Which of course does not render as expected.
This causes rendering errors in Qt applications every time Mesa is
updated since version 18.0.0. For example white screen in sddm.
This issue was originally reported in openSUSE
(https://bugzilla.opensuse.org/show_bug.cgi?id=1080578).
** end extract **
As this potentially effects Qt applications, and could even render
display manager login unusable, this should be a blocking bug in mesa
and Qt until Qt mitigations patches pass codereview and can be included
in Qtbase for 18.04.
** Affects: mesa (Ubuntu)
Importance: Undecided
Status: New
** Affects: qtbase-opensource-src (Ubuntu)
Importance: Undecided
Status: New
** Affects: mesa (Ubuntu Bionic)
Importance: Undecided
Status: New
** Affects: qtbase-opensource-src (Ubuntu Bionic)
Importance: Undecided
Status: New
** Tags: block-proposed
** Also affects: qtbase-opensource-src (Ubuntu)
Importance: Undecided
Status: New
** Also affects: mesa (Ubuntu Bionic)
Importance: Undecided
Status: New
** Also affects: qtbase-opensource-src (Ubuntu Bionic)
Importance: Undecided
Status: New
** Tags added: block-proposed
--
You received this bug notification because you are a member of Ubuntu
SDK bug tracking, which is subscribed to qtbase-opensource-src in
Ubuntu.
https://bugs.launchpad.net/bugs/1749472
Title:
mesa 18.0.0 will cause rendering errors in Qt applications
Status in mesa package in Ubuntu:
New
Status in qtbase-opensource-src package in Ubuntu:
New
Status in mesa source package in Bionic:
New
Status in qtbase-opensource-src source package in Bionic:
New
Bug description:
From: https://bugreports.qt.io/browse/QTBUG-66348
** extract **
The `QOpenGLShaderProgram` class in Qt can be used to compile and link
OpenGL shaders. If the `GL_ARB_get_program_binary` OpenGL extension is
available, it can cache those shaders on disk
(~/.cache/qtshadercache). The i965 driver in Mesa supports this
extension since version 18.0.0.
When the shader is loaded using the `glProgramBinary` function, OpenGL
can refuse it if for example some hardware or software component
changed. Mesa refuses binaries that were created by any other build of
Mesa (using among other things the build_id of the library).
If the shader is refused, Qt should fallback to compiling it from
sources, but it incorrectly calls glLinkProgram first. The
glLinkProgram succeeds, because it actually links 0 shaders together.
That is allowed in OpenGL compatibility profile and the resulting
program works as a fixed pipeline. Which of course does not render as
expected.
This causes rendering errors in Qt applications every time Mesa is
updated since version 18.0.0. For example white screen in sddm.
This issue was originally reported in openSUSE
(https://bugzilla.opensuse.org/show_bug.cgi?id=1080578).
** end extract **
As this potentially effects Qt applications, and could even render
display manager login unusable, this should be a blocking bug in mesa
and Qt until Qt mitigations patches pass codereview and can be
included in Qtbase for 18.04.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/mesa/+bug/1749472/+subscriptions
Follow ups