derekf pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=6108aa942cb933478fb1c72ab05d012fb9375276
commit 6108aa942cb933478fb1c72ab05d012fb9375276 Author: Derek Foreman <der...@osg.samsung.com> Date: Fri Jul 22 14:32:37 2016 -0500 wayland_shm: Speed up dmabuf on intel using map_bo/unmap_bo instead of gem_map_bo_gtt/gem_unmap_bo_gtt results in a cacheable mapping and a large performance boost. (dmabuf will still remain turned off by default for the release) --- src/modules/evas/engines/wayland_shm/evas_dmabuf.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/modules/evas/engines/wayland_shm/evas_dmabuf.c b/src/modules/evas/engines/wayland_shm/evas_dmabuf.c index 1f22626..ed8e1b1 100644 --- a/src/modules/evas/engines/wayland_shm/evas_dmabuf.c +++ b/src/modules/evas/engines/wayland_shm/evas_dmabuf.c @@ -87,8 +87,8 @@ static Dmabuf_Buffer *_evas_dmabuf_buffer_init(Dmabuf_Surface *s, int w, int h); static void _evas_dmabuf_buffer_destroy(Dmabuf_Buffer *b); drm_intel_bufmgr *(*sym_drm_intel_bufmgr_gem_init)(int fd, int batch_size) = NULL; -int (*sym_drm_intel_gem_bo_unmap_gtt)(drm_intel_bo *bo) = NULL; -int (*sym_drm_intel_gem_bo_map_gtt)(drm_intel_bo *bo) = NULL; +int (*sym_drm_intel_bo_unmap)(drm_intel_bo *bo) = NULL; +int (*sym_drm_intel_bo_map)(drm_intel_bo *bo) = NULL; drm_intel_bo *(*sym_drm_intel_bo_alloc_tiled)(drm_intel_bufmgr *mgr, const char *name, int x, int y, int cpp, uint32_t *tile, unsigned long *pitch, unsigned long flags) = NULL; void (*sym_drm_intel_bo_unreference)(drm_intel_bo *bo) = NULL; int (*sym_drmPrimeHandleToFD)(int fd, uint32_t handle, uint32_t flags, int *prime_fd) = NULL; @@ -136,7 +136,7 @@ _intel_map(Dmabuf_Buffer *buf) drm_intel_bo *bo; bo = (drm_intel_bo *)buf->bh; - if (sym_drm_intel_gem_bo_map_gtt(bo) != 0) return NULL; + if (sym_drm_intel_bo_map(bo) != 0) return NULL; return bo->virtual; } @@ -146,7 +146,7 @@ _intel_unmap(Dmabuf_Buffer *buf) drm_intel_bo *bo; bo = (drm_intel_bo *)buf->bh; - sym_drm_intel_gem_bo_unmap_gtt(bo); + sym_drm_intel_bo_unmap(bo); } static void @@ -174,8 +174,8 @@ _intel_buffer_manager_setup(int fd) if (!drm_intel_lib) return EINA_FALSE; SYM(drm_intel_lib, drm_intel_bufmgr_gem_init); - SYM(drm_intel_lib, drm_intel_gem_bo_unmap_gtt); - SYM(drm_intel_lib, drm_intel_gem_bo_map_gtt); + SYM(drm_intel_lib, drm_intel_bo_unmap); + SYM(drm_intel_lib, drm_intel_bo_map); SYM(drm_intel_lib, drm_intel_bo_alloc_tiled); SYM(drm_intel_lib, drm_intel_bo_unreference); SYM(drm_intel_lib, drm_intel_bufmgr_destroy); --