aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas White <taw@bitwiz.org.uk>2009-09-18 09:33:48 +0100
committerThomas White <taw@bitwiz.org.uk>2010-05-23 09:51:34 +0200
commit152e6bf62883a85658368a15ee5a78688e31f611 (patch)
treed35be8694087bc4bbd890a63746310c6192f4f0d
parent55e23762c458c99764ec3834e6900c73a90baf9c (diff)
GEM buffer naming stuff
-rw-r--r--glamo/glamo_bo_gem.c20
-rw-r--r--glamo/glamo_bo_gem.h3
2 files changed, 21 insertions, 2 deletions
diff --git a/glamo/glamo_bo_gem.c b/glamo/glamo_bo_gem.c
index 2fe3f82f..2cd95c46 100644
--- a/glamo/glamo_bo_gem.c
+++ b/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/glamo/glamo_bo_gem.h b/glamo/glamo_bo_gem.h
index 7230176e..dbfe3c16 100644
--- a/glamo/glamo_bo_gem.h
+++ b/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