summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichel Dänzer <michel.daenzer@amd.com>2015-03-31 12:25:18 +0900
committerMichel Dänzer <michel@daenzer.net>2015-04-02 16:29:33 +0900
commit98fb4199e63fedd4607cddee64bf602d6398df81 (patch)
tree982f9fde2fd6f3ccb8393b62666fd863bd171fa8
parentf8b0f23e9f4af9f9097ee5e72d53b45173163c41 (diff)
Only enable SYNC extension fences and the Present extension along with DRI3
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 Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--src/radeon_kms.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/radeon_kms.c b/src/radeon_kms.c
index 26d42a86..0722f0db 100644
--- a/src/radeon_kms.c
+++ b/src/radeon_kms.c
@@ -1232,7 +1232,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;
@@ -1343,9 +1343,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;
@@ -1353,10 +1350,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;