From 65a831d46cf14a85d523f386736ba0721b0d790b Mon Sep 17 00:00:00 2001 From: Adrian Marius Negreanu Date: Fri, 18 Jan 2013 15:12:19 +0200 Subject: gralloc_drm_bo_lock: add special usage for GRALLOC_USAGE_HW_TEXTURE The BO 'usage' can be different from the 'usage' passed to lock. For example when the BO is created by SurfaceMediaSource, having set GRALLOC_USAGE_HW_TEXTURE while the CPU locks it with GRALLOC_USAGE_SW_WRITE_OFTEN Change-Id: I4ba0ac05f1833439299e7fd694208076e66f8dfd Signed-off-by: Adrian Marius Negreanu --- gralloc_drm.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gralloc_drm.c b/gralloc_drm.c index 63b5217..5912ba6 100644 --- a/gralloc_drm.c +++ b/gralloc_drm.c @@ -357,8 +357,13 @@ int gralloc_drm_bo_lock(struct gralloc_drm_bo_t *bo, { if ((bo->handle->usage & usage) != usage) { /* make FB special for testing software renderer with */ - if (!(bo->handle->usage & GRALLOC_USAGE_HW_FB)) + + if (!(bo->handle->usage & GRALLOC_USAGE_HW_FB) + && !(bo->handle->usage & GRALLOC_USAGE_HW_TEXTURE)) { + ALOGE("bo.usage:x%X/usage:x%X is not GRALLOC_USAGE_HW_FB or GRALLOC_USAGE_HW_TEXTURE" + ,bo->handle->usage,usage); return -EINVAL; + } } /* allow multiple locks with compatible usages */ -- cgit v1.1