aboutsummaryrefslogtreecommitdiff
path: root/glamo/glamo_bo_gem.c
diff options
context:
space:
mode:
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;
+}