opensource/mesa/src/egl/drivers/dri2$ grep -rn "swap_buffers ="
platform_x11.c:1172: .swap_buffers = dri2_x11_swap_buffers,
platform_x11.c:1186: .swap_buffers = dri2_x11_swap_buffers,
platform_wayland.c:1379: .swap_buffers = dri2_wl_swap_buffers,
platform_wayland.c:1995: .swap_buffers = dri2_wl_swrast_swap_buffers,
platform_drm.c:675: .swap_buffers = dri2_drm_swap_buffers,
platform_x11_dri3.c:507: .swap_buffers = dri3_swap_buffers,
platform_android.c:1284: .swap_buffers = droid_swap_buffers,
个人理解weston的client应该是platform_wayland实现
weston本身内部是platform_drm的实现。