diff options
Diffstat (limited to 'glamo/glamo_bo_gem.c')
-rw-r--r-- | glamo/glamo_bo_gem.c | 18 |
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; +} |