intel: Handle devid overrides using libdrm.
authorEric Anholt <eric@anholt.net>
Sat, 10 Mar 2012 00:27:35 +0000 (16:27 -0800)
committerEric Anholt <eric@anholt.net>
Wed, 21 Mar 2012 19:45:06 +0000 (12:45 -0700)
Reviewed-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/intel/intel_screen.c

index e7c45b7d90745579119233238c9e4143b9629624..3c57c5b8807f4edeb114241aad2bda75e170d878 100644 (file)
@@ -628,8 +628,7 @@ intel_init_bufmgr(struct intel_screen *intelScreen)
    __DRIscreen *spriv = intelScreen->driScrnPriv;
    int num_fences = 0;
 
-   intelScreen->no_hw = (getenv("INTEL_NO_HW") != NULL ||
-                        getenv("INTEL_DEVID_OVERRIDE") != NULL);
+   intelScreen->no_hw = getenv("INTEL_NO_HW") != NULL;
 
    intelScreen->bufmgr = intel_bufmgr_gem_init(spriv->fd, BATCH_SZ);
    if (intelScreen->bufmgr == NULL) {
@@ -717,7 +716,6 @@ __DRIconfig **intelInitScreen2(__DRIscreen *psp)
    GLenum fb_format[3];
    GLenum fb_type[3];
    unsigned int api_mask;
-   char *devid_override;
 
    static const GLenum back_buffer_modes[] = {
        GLX_NONE, GLX_SWAP_UNDEFINED_OML, GLX_SWAP_COPY_OML
@@ -739,20 +737,10 @@ __DRIconfig **intelInitScreen2(__DRIscreen *psp)
    intelScreen->driScrnPriv = psp;
    psp->driverPrivate = (void *) intelScreen;
 
-   /* Determine chipset ID */
-   if (!intel_get_param(psp, I915_PARAM_CHIPSET_ID,
-                       &intelScreen->deviceID))
-      return false;
+   if (!intel_init_bufmgr(intelScreen))
+       return false;
 
-   /* Allow an override of the device ID for the purpose of making the
-    * driver produce dumps for debugging of new chipset enablement.
-    * This implies INTEL_NO_HW, to avoid programming your actual GPU
-    * incorrectly.
-    */
-   devid_override = getenv("INTEL_DEVID_OVERRIDE");
-   if (devid_override) {
-      intelScreen->deviceID = strtod(devid_override, NULL);
-   }
+   intelScreen->deviceID = drm_intel_bufmgr_gem_get_devid(intelScreen->bufmgr);
 
    intelScreen->kernel_has_gen7_sol_reset =
       intel_get_boolean(intelScreen->driScrnPriv,
@@ -797,9 +785,6 @@ __DRIconfig **intelInitScreen2(__DRIscreen *psp)
    if (IS_9XX(intelScreen->deviceID) || IS_965(intelScreen->deviceID))
       psp->api_mask = api_mask;
 
-   if (!intel_init_bufmgr(intelScreen))
-       return false;
-
    intelScreen->hw_has_swizzling = intel_detect_swizzling(intelScreen);
 
    psp->extensions = intelScreenExtensions;