diff options
Diffstat (limited to 'intel/intel_bufmgr_gem.c')
-rw-r--r-- | intel/intel_bufmgr_gem.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/intel/intel_bufmgr_gem.c b/intel/intel_bufmgr_gem.c index f5ab0a6f..cdf8ca5f 100644 --- a/intel/intel_bufmgr_gem.c +++ b/intel/intel_bufmgr_gem.c @@ -195,6 +195,8 @@ struct _drm_intel_bo_gem { * relocations. */ int reloc_tree_fences; + + unsigned int prime_name; }; static unsigned int @@ -1783,6 +1785,22 @@ drm_intel_gem_bo_get_tiling(drm_intel_bo *bo, uint32_t * tiling_mode, return 0; } +void +drm_intel_bufmgr_gem_set_bo_prime(drm_intel_bo *bo, uint32_t *name) +{ + drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *) bo->bufmgr; + drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *) bo; + int ret; + + if (!bo_gem->prime_name) { + ret = drmPrimeBufferSet(bufmgr_gem->fd, bo_gem->gem_handle, &bo_gem->prime_name); + if (ret) { + fprintf(stderr,"drm PBS failed\n"); + } + } + *name = bo_gem->prime_name; +} + static int drm_intel_gem_bo_flink(drm_intel_bo *bo, uint32_t * name) { |