Skip to content

egl, mesa: pbuffer config fixes

Kenneth Graunke requested to merge kwg/mesa:pbuffer-fixes into master

A while back @anholt added a 565 pbuffer-only visual to try and satisfy new ES CTS requirements. This series fixes a bunch of miscellaneous bugs with that new config:

  1. glReadBuffer didn't work for pbuffer visuals, making glReadPixels and basically any test probe fail miserably.
  2. eglCreatePbuffer() would always fail on the pbuffer-only visual because the double-buffered setting was reversed.
  3. Using the new config would spam FIXMEs everywhere. (Probably going to raise a few eyebrows in CTS submissions!)
  4. With xserver master + glamor, xcb_dri3_buffer_from_pixmap throws BadPixmap errors, because Glamor won't export a 16bpp pixmap as a DRI3 image when the server is running at 24bpp color depth. (Eric fixed this in xserver master.) This means that we are unable to actually make a pixmap to back the pbuffer and access it with DRI3, so things keel over rather quickly. We now test this path and only expose the 565 pbuffer config if the X server is cooperative.

See the Intel CI results for this branch - a bunch of tests that were previously failing are now passing or skipped. (The CI uses xserver 1.20.) I also ran tests locally with xserver master, and they are able to pass instead of skipping.

Merge request reports