aboutsummaryrefslogtreecommitdiff
path: root/glamo/glamo_bo_gem.c
diff options
context:
space:
mode:
authorThomas White <taw@bitwiz.org.uk>2009-10-18 22:59:38 +0200
committerThomas White <taw@bitwiz.org.uk>2010-05-23 09:51:34 +0200
commit2724eef7a03f452799a19b0ebc893eb0c75ae3fc (patch)
tree35f6cffc4ee374ac269420b15914f346e8a35100 /glamo/glamo_bo_gem.c
parent32d8292e57f3e7d9e91f47b5b6ca80c04dfae1b4 (diff)
Add subdata function
Diffstat (limited to 'glamo/glamo_bo_gem.c')
-rw-r--r--glamo/glamo_bo_gem.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/glamo/glamo_bo_gem.c b/glamo/glamo_bo_gem.c
index 2cd95c46..38a4436f 100644
--- a/glamo/glamo_bo_gem.c
+++ b/glamo/glamo_bo_gem.c
@@ -316,3 +316,21 @@ int glamo_gem_name_buffer(struct glamo_bo *bo, uint32_t *name)
*name = flink.name;
return 0;
}
+
+int glamo_bo_subdata(struct glamo_bo *bo, unsigned long offset,
+ unsigned long size, const void *data)
+{
+ int ret;
+
+ if (size == 0 || data == NULL)
+ return 0;
+
+ ret = bo_map(bo, 1);
+ if ( ret ) return ret;
+
+ memcpy((unsigned char *)bo->virtual + offset, data, size);
+
+ bo_unmap(bo);
+
+ return 0;
+}