diff options
author | Jesse Barnes <jbarnes@virtuousgeek.org> | 2008-08-13 10:08:02 -0700 |
---|---|---|
committer | Jesse Barnes <jbarnes@virtuousgeek.org> | 2008-08-13 10:08:02 -0700 |
commit | 2f03ba4aad1718a36168550b6a146b79540252e6 (patch) | |
tree | 7bc55a8948f00c60ad2354171dd345e35e6ff741 /libdrm/intel/intel_bufmgr_gem.c | |
parent | 085df6491e4975681a6e17ff9a67d01268aa7553 (diff) | |
parent | b0e68829462aad00ce68be998da6313bca754e9a (diff) |
Merge branch 'master' into modesetting-gem
Conflicts:
libdrm/Makefile.am
libdrm/xf86drm.h
shared-core/i915_dma.c
shared-core/i915_irq.c
Diffstat (limited to 'libdrm/intel/intel_bufmgr_gem.c')
-rw-r--r-- | libdrm/intel/intel_bufmgr_gem.c | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/libdrm/intel/intel_bufmgr_gem.c b/libdrm/intel/intel_bufmgr_gem.c index 02b1b252..af20efb2 100644 --- a/libdrm/intel/intel_bufmgr_gem.c +++ b/libdrm/intel/intel_bufmgr_gem.c @@ -103,6 +103,11 @@ struct _dri_bo_gem { const char *name; /** + * Kenel-assigned global name for this object + */ + unsigned int global_name; + + /** * Index of the buffer within the validation list while preparing a * batchbuffer execution. */ @@ -834,13 +839,16 @@ dri_gem_flink(dri_bo *bo, uint32_t *name) struct drm_gem_flink flink; int ret; - flink.handle = bo_gem->gem_handle; - - ret = ioctl(bufmgr_gem->fd, DRM_IOCTL_GEM_FLINK, &flink); - if (ret != 0) - return -errno; - - *name = flink.name; + if (!bo_gem->global_name) { + flink.handle = bo_gem->gem_handle; + + ret = ioctl(bufmgr_gem->fd, DRM_IOCTL_GEM_FLINK, &flink); + if (ret != 0) + return -errno; + bo_gem->global_name = flink.name; + } + + *name = bo_gem->global_name; return 0; } @@ -866,7 +874,7 @@ intel_bufmgr_gem_enable_reuse(dri_bufmgr *bufmgr) * */ static int -dri_gem_check_aperture_space(dri_bo *bo) +dri_gem_check_aperture_space(dri_bo **bo_array, int count) { return 0; } |