[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,
though.
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(-)
--
1.7.4.1
More information about the wayland-devel
mailing list