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
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1749472

Title:
  mesa 18.0.0 will cause rendering errors in Qt applications

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/mesa/+bug/1749472/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to