intel-gem: Use new getparam to detect kernel GEM support.
authorEric Anholt <eric@anholt.net>
Wed, 30 Jul 2008 21:14:44 +0000 (14:14 -0700)
committerEric Anholt <eric@anholt.net>
Wed, 30 Jul 2008 21:16:33 +0000 (14:16 -0700)
src/mesa/drivers/dri/intel/intel_context.c

index 082dfe87e38aad31582b8e3b6542e99668a105b5..8a4d5d21142d0c6d2f46e9059f6bd8efaf6dc806 100644 (file)
@@ -464,7 +464,14 @@ intel_init_bufmgr(struct intel_context *intel)
 {
    intelScreenPrivate *intelScreen = intel->intelScreen;
    GLboolean gem_disable = getenv("INTEL_NO_GEM") != NULL;
+   int gem_kernel = 0;
    GLboolean gem_supported;
+   struct drm_i915_getparam gp;
+
+   gp.param = I915_PARAM_HAS_GEM;
+   gp.value = &gem_kernel;
+
+   (void) drmCommandWriteRead(intel->driFd, DRM_I915_GETPARAM, &gp, sizeof(gp));
 
    /* If we've got a new enough DDX that's initializing GEM and giving us
     * object handles for the shared buffers, use that.
@@ -473,7 +480,7 @@ intel_init_bufmgr(struct intel_context *intel)
    if (intel->intelScreen->driScrnPriv->dri2.enabled)
        gem_supported = GL_TRUE;
    else if (intel->intelScreen->driScrnPriv->ddx_version.minor >= 9 &&
-           intel->intelScreen->drmMinor >= 11 &&
+           gem_kernel &&
            intel->intelScreen->front.bo_handle != -1)
        gem_supported = GL_TRUE;
    else