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

REG->5.11Beta1 : Windows: Quick nano browser example crashes

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P1: Critical
    • 5.11.0 RC 1, 6.2
    • 5.11.0 Beta 1
    • WebEngine
    • None
    • Windows 10, MSVC17/64bit
    • e5e0bb2631e6b0e207a6c98e1a328c8da958be9c 099cdde2717aa09800e2915eac2d2c76e6216d5f

    Description

      [5440:10416:0226/094132.047:ERROR:gl_surface_wgl.cc(372)] wglCreatePbufferARB not available.
      [5440:10416:0226/094132.047:ERROR:gl_surface_qt.cpp(751)] Requested OpenGL implementation is not supported. Implementation: 1
      

      This happens for both -opengl desktop and -opengl dynamic builds. There's an ordering problem in how we initialize our OpenGL extensions.

      The logic in GpuInit::InitializeInProcess() (see https://code.woboq.org/qt5/qtwebengine/src/3rdparty/chromium/gpu/ipc/service/gpu_init.cc.html ) is the following:

        if (!gl::init::InitializeGLNoExtensionsOneOff()) {
          VLOG(1) << "gl::init::InitializeGLNoExtensionsOneOff failed";
          return;
        }
      // ..
        gpu::CollectContextGraphicsInfo(&gpu_info_);
        gpu_feature_info_ = gpu::ComputeGpuFeatureInfo(gpu_info_, command_line);
      // ..
        if (!gl::init::InitializeExtensionSettingsOneOffPlatform()) {
          VLOG(1) << "gl::init::InitializeExtensionSettingsOneOffPlatform failed";
        }
      

      THat is, we first initialize OpenGL without extensions, then try to query GPU features, and then only initialize extensions.

      However, ComputeGpuFeatureInfo does create an OpenGL surface for querying the extensions, and on Windows this OpenGL context requires wglCreatePbufferARB to be available (see GLSurfaceQtWGL::Initialize).

      Attachments

        1. NanoBrowserCrashScreenShot.jpg
          249 kB
          Steve Schilz
        2. qtbug66668_qtdiag.txt
          8 kB
          Friedemann Kleint
        3. qtbug66668_stack.txt
          0.9 kB
          Friedemann Kleint

        Issue Links

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

          Activity

            People

              qt_webengine_team Qt WebEngine Team
              kleint Friedemann Kleint
              Votes:
              1 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes