[Mesa-dev] [PATCH 0/8] Native GBM backends and map/unmap support

Ander Conselvan de Oliveira conselvan2 at gmail.com
Thu Mar 13 07:02:46 PDT 2014


From: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira at intel.com>

Hi,

This patch series implements an API for mapping an unapping GBM buffer
objects. The native intel backend was implemented so that the map and
unmap functionality wouldn't have to be implemented in the DRI image
extension. A new EGL platform is necessary, since platform_drm.c
assumes it is run on top of a gbm device with the dri backend.

This new platform is written so that it could support other native
backends, not only intel.

Comments are really welcome.

Thanks,
Ander

Ander Conselvan de Oliveira (8):
  egl/drm: Rename dri2_egl_surface field gbm_surf to gbm_dri_surf
  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/dri: Add gbm platform
  gbm: Add entry points for mapping and unmapping bos

 configure.ac                              |   7 +-
 include/GL/internal/dri_interface.h       |  24 +-
 src/egl/drivers/dri2/Makefile.am          |   5 +
 src/egl/drivers/dri2/egl_dri2.c           |   8 +
 src/egl/drivers/dri2/egl_dri2.h           |  16 +-
 src/egl/drivers/dri2/platform_drm.c       |   6 +-
 src/egl/drivers/dri2/platform_gbm.c       | 486 ++++++++++++++++++++++++++++++
 src/egl/main/Makefile.am                  |   5 +
 src/egl/main/egldisplay.c                 |   3 +-
 src/egl/main/egldisplay.h                 |   1 +
 src/gbm/Makefile.am                       |  14 +-
 src/gbm/backends/dri/gbm_dri.c            |   3 +
 src/gbm/backends/intel/gbm_intel.c        | 270 +++++++++++++++++
 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                        |  25 ++
 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 ++-
 24 files changed, 1044 insertions(+), 39 deletions(-)
 create mode 100644 src/egl/drivers/dri2/platform_gbm.c
 create mode 100644 src/gbm/backends/intel/gbm_intel.c
 create mode 100644 src/gbm/backends/intel/gbm_intel.h

-- 
1.8.3.2



More information about the mesa-dev mailing list