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

QOpenGLShaderProgram::setUniformValue calls wrong OpenGL function

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • 5.3.1
    • 5.2.1
    • GUI: OpenGL
    • None
    • Linux x64

    Description

      When trying to upload a shader uniform value of GLSL type mat2x4, setUniformValue(int, QMatrix2x4) is calling glUniform4fv instead of the correct function, glUniformMatrix2x4fv. This causes an error in OpenGL 4.3 core profile, and the matrix is not uploaded. The error message is:

      GL_INVALID_OPERATION error generated. Uniform must be a matrix type in call to UniformMatrix*.

      Relevant code is here:

      https://qt.gitorious.org/qt/qtbase/source/000ee3d503906c2c20f789b6b9dd95b8647405d0:src/gui/opengl/qopenglshaderprogram.cpp#L2236

      Attachments

        For Gerrit Dashboard: QTBUG-37012
        # Subject Branch Project Status CR V

        Activity

          People

            lagocs Laszlo Agocs
            bparker Brad Parker
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes