summaryrefslogtreecommitdiff
path: root/drv.h
diff options
context:
space:
mode:
authorGurchetan Singh <gurchetansingh@chromium.org>2017-09-13 17:54:36 -0700
committerchrome-bot <chrome-bot@chromium.org>2017-09-27 23:52:08 -0700
commitff7414151e34a82fc290f79168553d01f5e654eb (patch)
tree12a47f1484770f75d3a1a1aac9df3f8f22f4b902 /drv.h
parentde263f108cb707924711a5c37a115fcbe06df2aa (diff)
minigbm: add drv_bo_flush
As an optimization, we would like to separate buffer flush/writeback and unmap. This patch adds the appropriate entry point in our internal driver API. Overall, the proposed flow is: - drv_bo_map(..) creates a mapping and associated metadata - drv_bo_flush(..) writes memory from any cache or temporary buffer back to memory - drv_bo_unmap(..) flushes, and frees the mapping and associated metadata. The drv_bo_flush function just does some sanity checks on the map data at this point, but otherwise is a no-op. BUG=chromium:764871 TEST=gbmtest, mmap_test -g on eve Change-Id: If306f066a76bc5e0943c1170e2d6933fa5630eff Reviewed-on: https://chromium-review.googlesource.com/668218 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Diffstat (limited to 'drv.h')
-rw-r--r--drv.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/drv.h b/drv.h
index e4678a1..f9a7a87 100644
--- a/drv.h
+++ b/drv.h
@@ -113,7 +113,9 @@ struct bo *drv_bo_import(struct driver *drv, struct drv_import_fd_data *data);
void *drv_bo_map(struct bo *bo, uint32_t x, uint32_t y, uint32_t width, uint32_t height,
uint32_t flags, struct map_info **map_data, size_t plane);
-int drv_bo_unmap(struct bo *bo, struct map_info *map_data);
+int drv_bo_unmap(struct bo *bo, struct map_info *data);
+
+int drv_bo_flush(struct bo *bo, struct map_info *data);
uint32_t drv_bo_get_width(struct bo *bo);