Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-35353

"bradius" uniform can cause uniform precision mismatch

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P2: Important
    • Resolution: Done
    • Affects Version/s: 5.1.0
    • Fix Version/s: 5.2.0
    • Component/s: GUI: OpenGL
    • Labels:
      None
    • Commits:
      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.

        Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

            Assignee:
            mbrasser Michael Brasser
            Reporter:
            mbrasser Michael Brasser
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes