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

Looks like swapRegion (EGL_NOK_swap_region2) is called inappropriately (expected swapBuffers)

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • 4.7.0
    • 4.7.1
    • GUI: OpenGL
    • None
    • Qt snapshot master from git from Friday 2010/07/16 running on Nvidia Tegra2 with X11 server 7.5, EGL 1.4, ES 2.0.
    • d6203cfeb0e096575c1fc0254dddc07a3d65d24c

    Description

      When I run for instance "examples/widgets/icons/icons -graphicssystem opengl" on an EGL implementation that does not support "EGL_NOK_swap_region2" then the IP still ends up in eglSwapBuffersRegion2NOK. The application GUI turns up on the screen but any attempt to access the menubar prints out the following confusing error message about success (and nothing of the menu is rendered):

      QEgl::eglSwapBuffersRegion2NOK() called but EGL_NOK_swap_region2 extension not present
      QEglContext::swapBuffersRegion2NOK(): "Success (0x3000)"

      There is this code (in qwindowsurface_gl:500):

      if (d_ptr->paintedRegion.boundingRect() != geometry()) {
      // Emits warning if not supported. Should never happen unless
      // setPartialUpdateSupport(true) has been called.
      context()>d_func()>swapRegion(&d_ptr->paintedRegion);
      } else
      context()->swapBuffers();

      But setPartialUpdateSupport(true) is never called from what I can tell and yet we end up called "swapRegion" when we really want to call "swapBuffer". When the application never swaps it explains why the menu and other such items are not rendered. This behaviour seems to break a lot functionality completely (bug has been present for some weeks).

      Attachments

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

        Activity

          People

            rodal Samuel Rødal
            ndhb Nicolai de Haan
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes