winsys/sw/android: set bo usage correctly
authorChia-I Wu <olvaffe@gmail.com>
Thu, 4 Aug 2011 08:50:51 +0000 (17:50 +0900)
committerChia-I Wu <olvaffe@gmail.com>
Sat, 20 Aug 2011 18:01:49 +0000 (02:01 +0800)
Since this is the software path, set GRALLOC_USAGE_SW_WRITE_OFTEN when
PIPE_BIND_RENDER_TARGET, and set GRALLOC_USAGE_SW_READ_OFTEN when
PIPE_BIND_SAMPLER_VIEW.

src/gallium/winsys/sw/android/android_sw_winsys.cpp

index 49d8aa9..6ea48b2 100644 (file)
@@ -158,17 +158,10 @@ android_displaytarget_from_handle(struct sw_winsys *ws,
    adt->width = templ->width0;
    adt->height = templ->height0;
 
-   if (templ->usage & PIPE_BIND_RENDER_TARGET)
-      adt->usage |= GRALLOC_USAGE_HW_RENDER;
-   if (templ->usage & PIPE_BIND_SAMPLER_VIEW)
-      adt->usage |= GRALLOC_USAGE_HW_TEXTURE;
-   if (templ->usage & PIPE_BIND_SCANOUT)
-      adt->usage |= GRALLOC_USAGE_HW_FB;
-
-   if (templ->usage & PIPE_BIND_TRANSFER_READ)
-      adt->usage |= GRALLOC_USAGE_SW_READ_OFTEN;
-   if (templ->usage & PIPE_BIND_TRANSFER_WRITE)
+   if (templ->bind & (PIPE_BIND_RENDER_TARGET | PIPE_BIND_TRANSFER_WRITE))
       adt->usage |= GRALLOC_USAGE_SW_WRITE_OFTEN;
+   if (templ->bind & (PIPE_BIND_SAMPLER_VIEW | PIPE_BIND_TRANSFER_READ))
+      adt->usage |= GRALLOC_USAGE_SW_READ_OFTEN;
 
    if (stride)
       *stride = adt->stride;