Skip to content

glamor_egl: Don't initialize on llvmpipe

Adam Jackson requested to merge ajax/xserver:glamor-no-llvmpipe into master

Mesa started supporting GL_OES_EGL_image on llvmpipe in 17.3, after this commit:

commit bbdeddd5fd0b797e1e281f058338b3da4d98029d
Author: Gurchetan Singh <gurchetansingh@chromium.org>
Date:   Tue Aug 1 14:49:33 2017 -0700

    st/dri: add drisw image extension

That's pretty cool, but it means glamor now thinks it can initialize on llvmpipe. This is almost certainly not what anyone wants, as glamor on llvmpipe is pretty much uniformly slower than fb.

This fixes both Xorg and Xwayland to refuse glamor in such a setup. Xephyr is left alone, both because glamor is not the default there and because Xephyr+glamor+llvmpipe is one of the easier ways to get xts to exercise glamor.

The (very small) downside of this change is that you lose DRI3 support. This wouldn't have helped you very much (since an lp glamor blit is slower than a pixman blit), but it would eliminate the PutImage overhead for llvmpipe's glXSwapBuffers. A future change should add DRI3 support for the fb-only case.

Signed-off-by: Adam Jackson ajax@redhat.com

Merge request reports