glamor and the sync extension

Mark Kettenis mark.kettenis at xs4all.nl
Sun Nov 15 08:59:08 PST 2015


Currently glamor hits an assertion on systems that don't have
xshmfence.  This happens when the glamor code calls
miSyncGetScreenFuncs() because the miSyncScreenPrivateKey has not been
set up.  For systems with xshmfence, this happens when
miSyncShmScreenInit() gets called, but that code is wrapped within
#ifdef HAVE_XSHMFENCE.  The diff below simply calls miSyncSetup()
instead if HAVE_XSHMFENCE is not defined.  This makes things work, but
I'm not sure if this is the right approach.

Thoughts?


Index: glamor/glamor_sync.c
===================================================================
RCS file: /cvs/xenocara/xserver/glamor/glamor_sync.c,v
retrieving revision 1.1
diff -u -p -r1.1 glamor_sync.c
--- glamor/glamor_sync.c	16 Sep 2015 19:10:21 -0000	1.1
+++ glamor/glamor_sync.c	15 Nov 2015 13:02:31 -0000
@@ -97,6 +97,9 @@ glamor_sync_init(ScreenPtr screen)
 #ifdef HAVE_XSHMFENCE
 	if (!miSyncShmScreenInit(screen))
 		return FALSE;
+#else
+	if (!miSyncSetup(screen))
+		return FALSE;
 #endif
 
 	screen_funcs = miSyncGetScreenFuncs(screen);



More information about the xorg-devel mailing list