diff --git a/libs/gui/Surface.cpp b/libs/gui/Surface.cpp index d9e6cf00a9b7f8793a0c61b18913eaa14313e6d5..cabab4d5459eff67cb8e35b77a5b19588aff7309 100644 --- a/libs/gui/Surface.cpp +++ b/libs/gui/Surface.cpp @@ -1234,21 +1234,13 @@ status_t Surface::lock( return INVALID_OPERATION; } - uint32_t lockUsage; - if (inOutDirtyBounds) { - lockUsage = GRALLOC_USAGE_SW_READ_OFTEN | GRALLOC_USAGE_SW_WRITE_OFTEN; - } else { - lockUsage = GRALLOC_USAGE_SW_WRITE_OFTEN; - } - - if (!mConnectedToCpu) { int err = Surface::connect(NATIVE_WINDOW_API_CPU); if (err) { return err; } // we're intending to do software rendering from this point - setUsage(lockUsage); + setUsage(GRALLOC_USAGE_SW_READ_OFTEN | GRALLOC_USAGE_SW_WRITE_OFTEN); } ANativeWindowBuffer* out; @@ -1308,7 +1300,8 @@ status_t Surface::lock( void* vaddr; status_t res = backBuffer->lockAsync( - lockUsage, newDirtyRegion.bounds(), &vaddr, fenceFd); + GRALLOC_USAGE_SW_READ_OFTEN | GRALLOC_USAGE_SW_WRITE_OFTEN, + newDirtyRegion.bounds(), &vaddr, fenceFd); ALOGW_IF(res, "failed locking buffer (handle = %p)", backBuffer->handle);