Export a generic dri_bo handle for use by clients
authorJesse Barnes <jbarnes@virtuousgeek.org>
Wed, 13 Aug 2008 01:22:34 +0000 (18:22 -0700)
committerJesse Barnes <jbarnes@virtuousgeek.org>
Wed, 13 Aug 2008 01:22:34 +0000 (18:22 -0700)
We'll need something like this (either a handle field or a dri_bo_get_handle
function) for kernel mode setting to get at the handles.

libdrm/dri_bufmgr.h
libdrm/intel/intel_bufmgr_gem.c

index a5ae6c0..7a7dd6e 100644 (file)
@@ -58,6 +58,10 @@ struct _dri_bo {
    void *virtual;
    /** Buffer manager context associated with this buffer object */
    dri_bufmgr *bufmgr;
+   /**
+    * MM-specific handle for accessing object
+    */
+   int handle;
 };
 
 /**
index 22f8695..02b1b25 100644 (file)
@@ -311,6 +311,7 @@ dri_gem_bo_alloc(dri_bufmgr *bufmgr, const char *name,
 
        ret = ioctl(bufmgr_gem->fd, DRM_IOCTL_I915_GEM_CREATE, &create);
        bo_gem->gem_handle = create.handle;
+       bo_gem->bo.handle = bo_gem->gem_handle;
        if (ret != 0) {
            free(bo_gem);
            return NULL;