diff options
author | Gurchetan Singh <gurchetansingh@chromium.org> | 2017-09-13 17:54:36 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2017-09-27 23:52:08 -0700 |
commit | ff7414151e34a82fc290f79168553d01f5e654eb (patch) | |
tree | 12a47f1484770f75d3a1a1aac9df3f8f22f4b902 /drv.h | |
parent | de263f108cb707924711a5c37a115fcbe06df2aa (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.h | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -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); |