[PATCH v2 00/11] gbm_surface

Ander Conselvan de Oliveira ander.conselvan.de.oliveira at intel.com
Wed Jan 25 06:24:12 PST 2012

Here's a second version of the gbm surface patchs. Changes in v2:

o documented the new functions
o renamed gbm_surface_get_bo() and gbm_surface_release_bo() to
  gbm_surface_lock_front_buffer() and gbm_surface_release_buffer()
o change the locks on egl drm from 0-1 variable to counters to
  properly handle multiple locks to the same buffer
o added a gbm_surface_has_free_buffers() function

The corner cases mentioned in the previous thread were documented as
errors. Would it make sense to change the gbm_*_destroy() functions to
return an error if one tries to free a locked buffer or a surface with
locked buffers?

There's no queueing of buffers in the surface so there should not be
any problem with flipping to client buffers. The question of how to
control if triple buffering is enable or not is still unresolved,

Ander Conselvan de Oliveira (11):
  gbm: fix copy & paste error in gbm_bo_get_handle documentation
  gbm: add gbm_surface interface
  egl_dri2: make flush extension useable by drm platform
  gbm: implement basic gbm_surface on dri backend
  egl_dri2: use gbm_surface as the native window type in drm platform
  gbm: creates hooks for dri2_loader_extension in dri backend
  egl_dri2: implement get_buffers and swap_buffers in drm platform
  gbm: implement gbm_surface_lock_front_buffer in dri backend
  gbm: add a release_buffer callback to dri backend
  egl_dri2: add triple buffering support to drm platform
  gbm: add gbm_surface_has_free_buffers and implement it in dri backend

 src/egl/drivers/dri2/egl_dri2.h     |   18 ++
 src/egl/drivers/dri2/platform_drm.c |  356 ++++++++++++++++++++++++++++++++++-
 src/gbm/backends/dri/gbm_dri.c      |  160 ++++++++++++++++-
 src/gbm/backends/dri/gbm_driint.h   |   32 +++-
 src/gbm/main/gbm.c                  |   88 +++++++++-
 src/gbm/main/gbm.h                  |   18 ++
 src/gbm/main/gbmint.h               |   16 ++
 7 files changed, 684 insertions(+), 4 deletions(-)


More information about the wayland-devel mailing list