This is a requirement of gralloc and the graphics.mapper HAL in Android.
BUG=b:
143924619
TEST=Photo capture in GCA succeeds and most camera CTS tests pass
Change-Id: Ic34a49aa7175c1c3b9f6c0738b5ab848e002b93d
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2035207
Tested-by: Matthias Springer <springerm@chromium.org>
Commit-Queue: Matthias Springer <springerm@chromium.org>
Reviewed-by: Tomasz Figa <tfiga@chromium.org>
Reviewed-by: David Stevens <stevensd@chromium.org>
Auto-Submit: Matthias Springer <springerm@chromium.org>
drv_bo_invalidate(bo_, lock_data_[0]);
vaddr = lock_data_[0]->vma->addr;
} else {
- vaddr = drv_bo_map(bo_, rect, map_flags, &lock_data_[0], 0);
+ struct rectangle r = *rect;
+
+ if (!r.width && !r.height && !r.x && !r.y) {
+ /*
+ * Android IMapper.hal: An accessRegion of all-zeros means the
+ * entire buffer.
+ */
+ r.width = drv_bo_get_width(bo_);
+ r.height = drv_bo_get_height(bo_);
+ }
+
+ vaddr = drv_bo_map(bo_, &r, map_flags, &lock_data_[0], 0);
}
if (vaddr == MAP_FAILED) {