lib: Allow to override the device id at run time
authorDamien Lespiau <damien.lespiau@intel.com>
Tue, 19 Feb 2013 00:39:04 +0000 (00:39 +0000)
committerDamien Lespiau <damien.lespiau@intel.com>
Mon, 4 Mar 2013 15:45:18 +0000 (15:45 +0000)
Using the same environment variable as libdrm so one doesn't have to
remember two different things. This is helpful to run a test under a
fake identity, to, say, dump an aub file.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
lib/intel_drm.c

index 8d89d24..eaf9895 100644 (file)
@@ -54,12 +54,18 @@ intel_get_drm_devid(int fd)
        int ret;
        struct drm_i915_getparam gp;
        uint32_t devid;
+       char *override;
 
-       gp.param = I915_PARAM_CHIPSET_ID;
-       gp.value = (int *)&devid;
+       override = getenv("INTEL_DEVID_OVERRIDE");
+       if (override) {
+               devid = strtod(override, NULL);
+       } else {
+               gp.param = I915_PARAM_CHIPSET_ID;
+               gp.value = (int *)&devid;
 
-       ret = ioctl(fd, DRM_IOCTL_I915_GETPARAM, &gp, sizeof(gp));
-       assert(ret == 0);
+               ret = ioctl(fd, DRM_IOCTL_I915_GETPARAM, &gp, sizeof(gp));
+               assert(ret == 0);
+       }
 
        return devid;
 }