[Mesa-dev] [PATCH v2 00/10] Map support for GBM bos

Thomas Hellstrom thellstrom at vmware.com
Fri Apr 4 03:20:15 PDT 2014


NAK!

No generic mmap() APIs of GBM bos, please.

The reason is that this impossible to implement in an efficient way on
non-coherent architectures, and once the interface is there, people will
start using it and ignore the non-coherent architectures. And these
will, in the end, have to implement a horrendous solution to this problem.

This problem has been discussed on the dri-devel list, linaro-mm-sig and
on the mesa-list before when the Mir developers
attempted to add another variant of an mmap interface.

/Thomas

On 04/04/2014 10:36 AM, Ander Conselvan de Oliveira wrote:
> From: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira at intel.com>
>
> Changes from previous version:
>
>  - removed the extra gbm egl platform;
>
>  - set errno to ENOSYS when the map/unmap capability is not implemented.
>
> Thanks,
> Ander
>
> Ander Conselvan de Oliveira (9):
>   gbm: Set errno on errors
>   gbm: Move private pointer from gbm_dri_surface to gbm_surface
>   egl: Protect use of gbm_dri with ifdef HAVE_DRM_PLATFORM
>   gbm: Add a native intel backend
>   gbm_drm: Keep a reference to drm native objects
>   dri, i965: Add an extension for sharing the drm bufmgr
>   dri, i965: Add entry point for creating image from native handle
>   egl/drm: Add support for native gbm backends
>   gbm: Add entry points for mapping and unmapping bos
>
> Neil Roberts (1):
>   wayland: Fix the logic in disabling the prime capability
>
>  include/GL/internal/dri_interface.h       |  24 ++-
>  src/egl/drivers/dri2/egl_dri2.c           |  11 +-
>  src/egl/drivers/dri2/egl_dri2.h           |   8 +-
>  src/egl/drivers/dri2/platform_drm.c       | 252 ++++++++++++++++++++------
>  src/egl/drivers/dri2/platform_wayland.c   |   2 +-
>  src/gbm/Makefile.am                       |  14 +-
>  src/gbm/backends/dri/gbm_dri.c            |  49 +++--
>  src/gbm/backends/dri/gbm_driint.h         |   2 -
>  src/gbm/backends/intel/gbm_intel.c        | 286 ++++++++++++++++++++++++++++++
>  src/gbm/backends/intel/gbm_intel.h        |  76 ++++++++
>  src/gbm/main/backend.c                    |   2 +
>  src/gbm/main/common_drm.h                 |  13 ++
>  src/gbm/main/gbm.c                        |  56 +++++-
>  src/gbm/main/gbm.h                        |  10 ++
>  src/gbm/main/gbmint.h                     |   4 +
>  src/mesa/drivers/dri/common/dri_util.c    |   2 +
>  src/mesa/drivers/dri/common/dri_util.h    |   1 +
>  src/mesa/drivers/dri/i965/intel_regions.c |  50 +++---
>  src/mesa/drivers/dri/i965/intel_regions.h |   6 +
>  src/mesa/drivers/dri/i965/intel_screen.c  |  46 ++++-
>  20 files changed, 807 insertions(+), 107 deletions(-)
>  create mode 100644 src/gbm/backends/intel/gbm_intel.c
>  create mode 100644 src/gbm/backends/intel/gbm_intel.h
>


More information about the mesa-dev mailing list