glamor: reallocating pixmap without modifiers freezes screen if DRI3 is disabled
Regressed by 86b2d874. CC @daniels. See also downstream issue.
Steps to reproduce:
- Disable compositor
- Force
modesetting
in xorg.conf export LIBGL_DRI3_DISABLE=1
- Run
glxgears
- Screen freeze (except pointer)
The following hack appears to help:
diff --git a/glamor/glamor_egl.c b/glamor/glamor_egl.c
index be7c3bf19..da230be41 100644
--- a/glamor/glamor_egl.c
+++ b/glamor/glamor_egl.c
@@ -277,7 +277,7 @@ glamor_make_pixmap_exportable(PixmapPtr pixmap, Bool modifiers_ok)
GCPtr scratch_gc;
if (pixmap_priv->image &&
- (modifiers_ok || !pixmap_priv->used_modifiers))
+ (modifiers_ok || pixmap_priv->used_modifiers))
return TRUE;
switch (pixmap->drawable.depth) {