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 <adrian.m.negreanu@intel.com>
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 @@
 {
 	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 */