[PATCH] Only enable SYNC extension fences and the Present extension along with DRI3

Michel Dänzer michel at daenzer.net
Wed Apr 1 18:31:17 PDT 2015


From: Michel Dänzer <michel.daenzer at amd.com>

This avoids some trouble with the Gallium nine state tracker, which uses
the Present extension even when DRI3 is disabled.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89772
Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
---
 src/radeon_kms.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/src/radeon_kms.c b/src/radeon_kms.c
index 29275cc..64593ab 100644
--- a/src/radeon_kms.c
+++ b/src/radeon_kms.c
@@ -1400,7 +1400,7 @@ Bool RADEONScreenInit_KMS(SCREEN_INIT_ARGS_DECL)
     RADEONInfoPtr  info  = RADEONPTR(pScrn);
     int            subPixelOrder = SubPixelUnknown;
     MessageType from;
-    Bool have_present = FALSE, value;
+    Bool value;
     const char *s;
     void *front_ptr;
 
@@ -1511,9 +1511,6 @@ Bool RADEONScreenInit_KMS(SCREEN_INIT_ARGS_DECL)
     }
 #endif
 
-    if (radeon_sync_init(pScreen))
-	have_present = radeon_present_screen_init(pScreen);
-
     value = FALSE;
     if (xf86GetOptValBool(info->Options, OPTION_DRI3, &value))
 	from = X_CONFIG;
@@ -1521,10 +1518,9 @@ Bool RADEONScreenInit_KMS(SCREEN_INIT_ARGS_DECL)
 	from = X_DEFAULT;
 
     if (value) {
-	if (have_present)
-	    value = radeon_dri3_screen_init(pScreen);
-	else
-	    value = FALSE;
+	value = radeon_sync_init(pScreen) &&
+	    radeon_present_screen_init(pScreen) &&
+	    radeon_dri3_screen_init(pScreen);
 
 	if (!value)
 	    from = X_WARNING;
-- 
2.1.4



More information about the xorg-driver-ati mailing list