1. 15 Apr, 2021 1 commit
  2. 14 Apr, 2021 1 commit
    • Michel Dänzer's avatar
      ci: Move docker images from Debian buster to bullseye · af0fde95
      Michel Dänzer authored
      Among other things, this gets us GCC 10 (was 6).
      
      Requires some changes to third party components we use:
      
      * Install apitrace (& waffle) from Debian; was hitting issues with the
        local build, and it's the same version 9.0 anyway.
      * Update Fossilize to a newer commit which builds with GCC 10.
      * apt.llvm.org repositories are no longer needed.
      * Use an SPIRV-LLVM-Translator commit which builds with LLVM 11.0.1.
      * Install XCB packages from Debian, 1.13 fails to build with Python 3.9.
      * Install wayland-protocols from Debian, 1.12 is too old for
        libgtk-3-dev in bullseye.
      
      LLVM 7/8 packages are no longer available.
      
      Also adapt expected test results to Xvfb now exposing multi-samle
      GLXFBConfigs.
      
      v2:
      * Install clang instead of clang-11.
      
      Closes: #3124
      Reviewed-by: Eric Anholt <eric@anholt.net> # v1
      Part-of: <!9833>
      af0fde95
  3. 13 Apr, 2021 1 commit
    • Adam Jackson's avatar
      glx: Lift sending the MakeCurrent request to top-level code · 80b67a3b
      Adam Jackson authored
      Somewhat terrifyingly, we never sent this for direct contexts, which
      means the server never knew the context/drawable bindings. To handle
      this sanely, pull the request code up out of the indirect backend, and
      rewrite the context switch path to call it as appropriate.  This
      attempts to preserve the existing behavior of not calling unbind() on
      the context if its refcount would not drop to zero.
      
      Of course, you can't just do this indiscriminately, because this is GLX
      and extant X servers have bugs and everything is terrible. To wit:
      
      - For 1.20.x prior to 1.20.6, you can bind a direct context once, but
      the second time you try to modify the context's binding you will get
      GLXBadContextTag. This includes unbinding the context. And "deleting"
      the context will leak memory, because it will still appear to be
      current.
      
      - For 1.19 and earlier, glXMakeCurrent(dpy, None, ctx) should be legal
      for GL 3.0+ contexts, but the server will throw BadMatch.
      
      To guard against this, we only send the request for indirect contexts
      unless the server is known good, and only mention one context at a time
      in such a request; if switching between contexts, we first unbind the
      old, and then bind the new. Note that the second VendorRelease() version
      is to catch XFree86 4.x and Xorg [67].x, which almost certainly have the
      above bugs. Other servers might report different version numbers here,
      but we can't do direct rendering against them, so this should be safe.
      
      Fixes: #4418
      
      Acked-By: Mike Blumenkrantz's avatarMike Blumenkrantz <michael.blumenkrantz@gmail.com>
      Part-of: <!9992>
      80b67a3b
  4. 05 Apr, 2021 1 commit
  5. 02 Apr, 2021 1 commit
  6. 30 Mar, 2021 1 commit
  7. 18 Mar, 2021 1 commit