st/xorg vmwgfx/xorg: Add a pre-init customizer callback
[mesa.git] / src / gallium / targets / xorg-vmwgfx / vmw_screen.c
index 64934d53f6893ef9174d86c6b5824e94cc50ec22..514c3f1208868cf84d33065367c2213b601925c3 100644 (file)
@@ -111,13 +111,22 @@ vmw_context_no_throttle(CustomizerPtr cust,
 }
 
 static Bool
-vmw_screen_init(CustomizerPtr cust, int fd)
+vmw_pre_init(CustomizerPtr cust, int fd)
 {
     struct vmw_customizer *vmw = vmw_customizer(cust);
-    drmVersionPtr ver;
 
     vmw->fd = fd;
-    ver = drmGetVersion(fd);
+
+    return TRUE;
+}
+
+static Bool
+vmw_screen_init(CustomizerPtr cust)
+{
+    struct vmw_customizer *vmw = vmw_customizer(cust);
+    drmVersionPtr ver;
+
+    ver = drmGetVersion(vmw->fd);
     if (ver == NULL ||
        (ver->version_major == 1 && ver->version_minor < 1)) {
        cust->swap_throttling = TRUE;
@@ -199,6 +208,7 @@ vmw_screen_pre_init(ScrnInfoPtr pScrn, int flags)
 
     cust = &vmw->base;
 
+    cust->winsys_pre_init = vmw_pre_init;
     cust->winsys_screen_init = vmw_screen_init;
     cust->winsys_screen_close = vmw_screen_close;
     cust->winsys_enter_vt = vmw_screen_enter_vt;