intel-gem: Use new getparam to detect kernel GEM support.

This commit is contained in:
Eric Anholt 2008-07-30 14:15:57 -07:00
parent d77d42e543
commit e9e6b47385
1 changed files with 10 additions and 1 deletions

View File

@ -384,6 +384,8 @@ i830_allocator_init(ScrnInfoPtr pScrn, unsigned long offset, unsigned long size)
i830_memory *start, *end;
#ifdef XF86DRI
int dri_major, dri_minor, dri_patch;
struct drm_i915_getparam gp;
int has_gem;
#endif
start = xcalloc(1, sizeof(*start));
@ -424,12 +426,19 @@ i830_allocator_init(ScrnInfoPtr pScrn, unsigned long offset, unsigned long size)
#ifdef XF86DRI
DRIQueryVersion(&dri_major, &dri_minor, &dri_patch);
has_gem = 0;
gp.param = I915_PARAM_HAS_GEM;
gp.value = &has_gem;
(void)drmCommandWriteRead(pI830->drmSubFD, DRM_I915_GETPARAM,
&gp, sizeof(gp));
/* Now that we have our manager set up, initialize the kernel MM if
* possible, covering almost all of the aperture. We need libdri interface
* 5.4 or newer so we can rely on the lock being held after DRIScreenInit,
* rather than after DRIFinishScreenInit.
*/
if (pI830->directRenderingEnabled && pI830->drmMinor >= 7 &&
if (pI830->directRenderingEnabled && has_gem &&
(dri_major > 5 || (dri_major == 5 && dri_minor >= 4)))
{
int mmsize;