summaryrefslogtreecommitdiff
path: root/src/radeon_kms.c
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 /src/radeon_kms.c
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>
Diffstat (limited to 'src/radeon_kms.c')
-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;