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

QWindowsGLContext crashes on machines without shader support

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Incomplete
    • Icon: P3: Somewhat important P3: Somewhat important
    • None
    • 5.0.0, 5.0.1
    • GUI: OpenGL
    • Windows (various). Reproducable also with this setup: Win7pro, x64, Qt 5.0.1 32 bit, nVidia 7600 GT latest driver, MSVC2008

      Attempting to create a QGLContext on Windows requires shader support. Attempting to use them on machines without this support results in a crash. This means such programs won't work e.g. over terminal services or with popular Intel mobile chipsets. This is true even when the application is not directly using shaders. Previous versions of Qt did not have this requirement.

      The following output is produced before the crash:
      QWindowsGLContext::getProcAddress: Unable to resolve 'glProgramParameteriEXT'
      QWindowsGLContext::getProcAddress: Unable to resolve 'glFramebufferTextureEXT'
      QWindowsGLContext::getProcAddress: Unable to resolve 'glFramebufferTextureLayerEXT'
      QWindowsGLContext::getProcAddress: Unable to resolve 'glFramebufferTextureFaceEXT'
      QWindowsGLContext::getProcAddress: Unable to resolve 'glMultiTexCoord4f'
      QWindowsGLContext::getProcAddress: Unable to resolve 'glActiveTexture'
      QWindowsGLContext::getProcAddress: Unable to resolve 'glBlendColor'
      QWindowsGLContext::getProcAddress: Unable to resolve 'glStencilOpSeparate'
      QWindowsGLContext::getProcAddress: Unable to resolve 'glProgramParameteriEXT'
      QWindowsGLContext::getProcAddress: Unable to resolve 'glFramebufferTextureEXT'
      QWindowsGLContext::getProcAddress: Unable to resolve 'glFramebufferTextureLayerEXT'
      QWindowsGLContext::getProcAddress: Unable to resolve 'glFramebufferTextureFaceEXT'
      Vertex shader for simpleShaderProg (MainVertexShader & PositionOnlyVertexShader) failed to compile
      QWindowsGLContext::getProcAddress: Unable to resolve 'glProgramParameteriEXT'
      QWindowsGLContext::getProcAddress: Unable to resolve 'glFramebufferTextureEXT'
      QWindowsGLContext::getProcAddress: Unable to resolve 'glFramebufferTextureLayerEXT'
      QWindowsGLContext::getProcAddress: Unable to resolve 'glFramebufferTextureFaceEXT'
      Fragment shader for simpleShaderProg (MainFragmentShader & ShockingPinkSrcFragmentShader) failed to compile
      QWindowsGLContext::getProcAddress: Unable to resolve 'glProgramParameteriEXT'
      QWindowsGLContext::getProcAddress: Unable to resolve 'glFramebufferTextureEXT'
      QWindowsGLContext::getProcAddress: Unable to resolve 'glFramebufferTextureLayerEXT'
      QWindowsGLContext::getProcAddress: Unable to resolve 'glFramebufferTextureFaceEXT'
      QGLShaderProgram: shader programs are not supported
      Errors linking simple shader:
      QWindowsGLContext::getProcAddress: Unable to resolve 'glProgramParameteriEXT'
      QWindowsGLContext::getProcAddress: Unable to resolve 'glFramebufferTextureEXT'
      QWindowsGLContext::getProcAddress: Unable to resolve 'glFramebufferTextureLayerEXT'
      QWindowsGLContext::getProcAddress: Unable to resolve 'glFramebufferTextureFaceEXT'
      Vertex shader for blitShaderProg (MainWithTexCoordsVertexShader & UntransformedPositionVertexShader) failed to compile
      QWindowsGLContext::getProcAddress: Unable to resolve 'glProgramParameteriEXT'
      QWindowsGLContext::getProcAddress: Unable to resolve 'glFramebufferTextureEXT'
      QWindowsGLContext::getProcAddress: Unable to resolve 'glFramebufferTextureLayerEXT'
      QWindowsGLContext::getProcAddress: Unable to resolve 'glFramebufferTextureFaceEXT'
      Fragment shader for blitShaderProg (MainFragmentShader & ImageSrcFragmentShader) failed to compile
      QWindowsGLContext::getProcAddress: Unable to resolve 'glProgramParameteriEXT'
      QWindowsGLContext::getProcAddress: Unable to resolve 'glFramebufferTextureEXT'
      QWindowsGLContext::getProcAddress: Unable to resolve 'glFramebufferTextureLayerEXT'
      QWindowsGLContext::getProcAddress: Unable to resolve 'glFramebufferTextureFaceEXT'
      QGLShaderProgram: shader programs are not supported
      Errors linking blit shader:

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

            rodal Samuel Rødal
            megabyte Aaron Kaluszka
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes