egl/wayland: Pull color buffers from dri2_surf->color_buffers pool
authorKristian Høgsberg <krh@bitplanet.net>
Fri, 14 Dec 2012 04:30:45 +0000 (23:30 -0500)
committerKristian Høgsberg <krh@bitplanet.net>
Mon, 14 Jan 2013 21:39:15 +0000 (16:39 -0500)
commit90804e886de892cfedb8248a4f5700fd7422b94a
tree4da3086f840f2297bd37dc65f44fb6e94dd848d9
parentdc473c5f0a2f0dafd85a1b7bef22b3f4f39596bb
egl/wayland: Pull color buffers from dri2_surf->color_buffers pool

We used to keep the color buffers in the dri_buffers array and
swap __DRI_BUFFER_BACK_LEFT and __DRI_BUFFER_FRONT_LEFT around there
and swap third_buffer in in case we needed to triple buffer.  That
gets a little fidgety with all the swaps, so lets use the
color_buffers pool like the gbm platform does.  We track the color buffers,
their corresponding wl_buffer and locked status here and just plug
a free one into dri2_surf->buffers when we need to.

This is a nice clean-up in itself, but it also sets us up to track
buffer age in the color_buffers structs.

Reviewed-by: Ander Conselvan de Oliveira <conselvan2@gmail.com>
src/egl/drivers/dri2/egl_dri2.h
src/egl/drivers/dri2/platform_wayland.c