diff options
-rw-r--r-- | gralloc_gbm.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/gralloc_gbm.cpp b/gralloc_gbm.cpp index 8f9bfc4..5ce5611 100644 --- a/gralloc_gbm.cpp +++ b/gralloc_gbm.cpp @@ -86,12 +86,16 @@ static unsigned int get_pipe_bind(int usage) { unsigned int bind = 0; - if (usage & (GRALLOC_USAGE_SW_READ_OFTEN | GRALLOC_USAGE_SW_WRITE_OFTEN)) - bind |= GBM_BO_USE_LINEAR; + if (usage & (GRALLOC_USAGE_SW_READ_OFTEN) + bind |= GBM_BO_USE_MAP_READ; + if (usage & GRALLOC_USAGE_SW_WRITE_OFTEN) + bind |= GBM_BO_USE_MAP_WRITE; if (usage & GRALLOC_USAGE_CURSOR) ;//bind |= GBM_BO_USE_CURSOR; - if (usage & (GRALLOC_USAGE_HW_RENDER | GRALLOC_USAGE_HW_TEXTURE)) + if (usage & GRALLOC_USAGE_HW_RENDER) bind |= GBM_BO_USE_RENDERING; + if (usage & GRALLOC_USAGE_HW_TEXTURE) + bind |= GBM_BO_USE_TEXTURING; if (usage & GRALLOC_USAGE_HW_FB) bind |= GBM_BO_USE_SCANOUT; |