vmwgfx/core: Check for 3D via the get param ioctl
authorJakob Bornecrantz <jakob@vmware.com>
Sat, 12 Dec 2009 17:30:56 +0000 (18:30 +0100)
committerJakob Bornecrantz <jakob@vmware.com>
Sat, 12 Dec 2009 17:37:16 +0000 (18:37 +0100)
src/gallium/winsys/drm/vmware/core/vmw_screen_ioctl.c
src/gallium/winsys/drm/vmware/core/vmwgfx_drm.h

index 51e455f925406878068e6363443514b2e521913d..ccd0b418a169f6cabc0107db4e638a9cc3cdf4f2 100644 (file)
@@ -467,6 +467,15 @@ vmw_ioctl_init(struct vmw_winsys_screen *vws)
 
    VMW_FUNC;
 
+   memset(&gp_arg, 0, sizeof(gp_arg));
+   gp_arg.param = DRM_VMW_PARAM_3D;
+   ret = drmCommandWriteRead(vws->ioctl.drm_fd, DRM_VMW_GET_PARAM,
+                            &gp_arg, sizeof(gp_arg));
+   if (ret || gp_arg.value == 0) {
+      debug_printf("No 3D enabled (%i, %s)\n", ret, strerror(-ret));
+      goto out_err1;
+   }
+
    memset(&gp_arg, 0, sizeof(gp_arg));
    gp_arg.param = DRM_VMW_PARAM_FIFO_OFFSET;
    ret = drmCommandWriteRead(vws->ioctl.drm_fd, DRM_VMW_GET_PARAM,
index 89bbf17ce99ce9a0466ac4358f6ffb98be0e3c47..e05731b24cca34e87be63b9b8b00b6ce406915c7 100644 (file)
@@ -25,8 +25,8 @@
  *
  **************************************************************************/
 
-#ifndef _VMWGFX_DRM_H_
-#define _VMWGFX_DRM_H_
+#ifndef __VMWGFX_DRM_H__
+#define __VMWGFX_DRM_H__
 
 #define DRM_VMW_MAX_SURFACE_FACES 6
 #define DRM_VMW_MAX_MIP_LEVELS 24
@@ -34,7 +34,6 @@
 #define DRM_VMW_EXT_NAME_LEN 128
 
 #define DRM_VMW_GET_PARAM            1
-#define DRM_VMW_EXTENSION            2
 #define DRM_VMW_CREATE_CONTEXT       3
 #define DRM_VMW_UNREF_CONTEXT        4
 #define DRM_VMW_CREATE_SURFACE       5
@@ -62,6 +61,7 @@
 
 #define DRM_VMW_PARAM_FIFO_OFFSET    0
 #define DRM_VMW_PARAM_OVERLAY_IOCTL  1
+#define DRM_VMW_PARAM_3D             2
 
 /**
  * struct drm_vmw_getparam_arg