From fdf2a36636f7b405679e4cf9c7743a089bdf8ef8 Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Mon, 18 Jul 2011 17:47:28 +0800 Subject: radeon: zero the newly allocated bo --- gralloc_drm_radeon.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'gralloc_drm_radeon.c') diff --git a/gralloc_drm_radeon.c b/gralloc_drm_radeon.c index ecb0f6e..ef5280d 100644 --- a/gralloc_drm_radeon.c +++ b/gralloc_drm_radeon.c @@ -245,6 +245,16 @@ static struct radeon_bo *radeon_alloc(struct radeon_info *info, return rbo; } +static void radeon_zero(struct radeon_info *info, + struct radeon_bo *rbo) +{ + /* should use HW clear... */ + if (!radeon_bo_map(rbo, 1)) { + memset(rbo->ptr, 0, rbo->size); + radeon_bo_unmap(rbo); + } +} + static struct gralloc_drm_bo_t * drm_gem_radeon_alloc(struct gralloc_drm_drv_t *drv, struct gralloc_drm_handle_t *handle) { @@ -271,6 +281,9 @@ drm_gem_radeon_alloc(struct gralloc_drm_drv_t *drv, struct gralloc_drm_handle_t free(rbuf); return NULL; } + + /* Android expects the buffer to be zeroed */ + radeon_zero(info, rbuf->rbo); } if (handle->usage & GRALLOC_USAGE_HW_FB) -- cgit v1.1