diff options
author | Tapani Pälli <tapani.palli@intel.com> | 2013-02-22 12:13:28 +0200 |
---|---|---|
committer | Tapani Pälli <tapani.palli@intel.com> | 2013-03-01 10:59:42 +0200 |
commit | f3c326e3a15df2b1d8e0387ab634ec29dafd7707 (patch) | |
tree | f9587d8a165b37a0d7b1dc49e8f7938f25dc2a8d /gralloc_drm_priv.h | |
parent | 25d22516a6eb0991e1b1ec25d25785daf7100eff (diff) | |
download | external_drm_gralloc-f3c326e3a15df2b1d8e0387ab634ec29dafd7707.zip external_drm_gralloc-f3c326e3a15df2b1d8e0387ab634ec29dafd7707.tar.gz external_drm_gralloc-f3c326e3a15df2b1d8e0387ab634ec29dafd7707.tar.bz2 |
gralloc: change copy api and fix copy function for intel
Patch extends current copy api, renames it blit and introduces
src+dst coordinates to be able to implement partial blits and
blits with offsets. Implementation must take care of hw specific
restrictions with blits.
Patch also fixes issues with the current intel_blit function.
Current implementation does not select ring buffer and ends up
queuing blit commands to the render ring. Patch starts to use
drm_intel_bo_mrb_exec to be able to select blit ring and fixes
the checks inside copy function.
Change-Id: I05905e0b9c48fc2a55230212b676bfb8813a2b55
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Diffstat (limited to 'gralloc_drm_priv.h')
-rw-r--r-- | gralloc_drm_priv.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gralloc_drm_priv.h b/gralloc_drm_priv.h index 66c6dbd..0ab4ea5 100644 --- a/gralloc_drm_priv.h +++ b/gralloc_drm_priv.h @@ -128,11 +128,14 @@ struct gralloc_drm_drv_t { void (*unmap)(struct gralloc_drm_drv_t *drv, struct gralloc_drm_bo_t *bo); - /* copy between two bo's, used for DRM_SWAP_COPY */ - void (*copy)(struct gralloc_drm_drv_t *drv, + /* blit between two bo's, used for DRM_SWAP_COPY and general blitting */ + void (*blit)(struct gralloc_drm_drv_t *drv, struct gralloc_drm_bo_t *dst, struct gralloc_drm_bo_t *src, - short x1, short y1, short x2, short y2); + uint16_t dst_x1, uint16_t dst_y1, + uint16_t dst_x2, uint16_t dst_y2, + uint16_t src_x1, uint16_t src_y1, + uint16_t src_x2, uint16_t src_y2); /* query component offsets, strides and handles for a format */ void (*resolve_format)(struct gralloc_drm_drv_t *drv, |