diff options
Diffstat (limited to 'libdrm')
-rw-r--r-- | libdrm/glamo/glamo_bo_gem.c | 20 | ||||
-rw-r--r-- | libdrm/glamo/glamo_bo_gem.h | 3 |
2 files changed, 21 insertions, 2 deletions
diff --git a/libdrm/glamo/glamo_bo_gem.c b/libdrm/glamo/glamo_bo_gem.c index 2fe3f82f..2cd95c46 100644 --- a/libdrm/glamo/glamo_bo_gem.c +++ b/libdrm/glamo/glamo_bo_gem.c @@ -293,8 +293,26 @@ void glamo_bo_manager_gem_dtor(struct glamo_bo_manager *bom) free(bomg); } -uint32_t glamo_gem_name_bo(struct glamo_bo *bo) +uint32_t glamo_gem_get_name(struct glamo_bo *bo) { struct glamo_bo_gem *bo_gem = (struct glamo_bo_gem*)bo; return bo_gem->name; } + +int glamo_gem_name_buffer(struct glamo_bo *bo, uint32_t *name) +{ + struct drm_gem_flink flink; + int r; + + if ( !bo ) { + fprintf(stderr, "No buffer object!\n"); + return -1; + } + + flink.handle = bo->handle; + r = ioctl(bo->bom->fd, DRM_IOCTL_GEM_FLINK, &flink); + if (r) return r; + + *name = flink.name; + return 0; +} diff --git a/libdrm/glamo/glamo_bo_gem.h b/libdrm/glamo/glamo_bo_gem.h index 7230176e..dbfe3c16 100644 --- a/libdrm/glamo/glamo_bo_gem.h +++ b/libdrm/glamo/glamo_bo_gem.h @@ -36,6 +36,7 @@ struct glamo_bo_manager *glamo_bo_manager_gem_ctor(int fd); void glamo_bo_manager_gem_dtor(struct glamo_bo_manager *bom); +int glamo_gem_name_buffer(struct glamo_bo *bo, uint32_t *name); +uint32_t glamo_gem_get_name(struct glamo_bo *bo); -uint32_t glamo_gem_name_bo(struct glamo_bo *bo); #endif |