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

Software OpenGL on Windows

    XMLWordPrintable

Details

    • Task
    • Resolution: Done
    • P2: Important
    • 5.4.0
    • None
    • GUI: OpenGL
    • None

    Description

      We now have proper builds of Mesa with llvmpipe that are able to run Quick 2 applications pretty well without any sort of support from the graphics hardware and drivers. The downside is the potentially high CPU usage. This needs to be integrated with the -opengl desktop builds somehow.

      The most viable solution seems to be the introduction of a "proxy" library exposing the OpenGL 1.1 and WGL entry points. QtGui would then link to this instead of opengl32.dll. The proxy library would then load either the "real" or the Mesa opengl32.dll and forward all calls.

      First, the system opengl32.dll is loaded. The proxy lib then tries to create a context and resolve some OpenGL 2 functions. If this fails for any reason, it falls back to load and use the Mesa opengl32.dll from that point on. If it works, it continues with the system's library.

      Open issues needing more investigation: #1 The unfortunate GDI reliance on "opengl32.dll" (see first comment below) #2 Unloading the Mesa DLL using FreeLibrary seems to deadlock in some cases.

      Attachments

        Issue Links

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

          Activity

            People

              lagocs Laszlo Agocs
              lagocs Laszlo Agocs
              Votes:
              1 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes