In following up on my earlier update of Giulio's drm backend config patch, I've taken the liberty to try and also integrate Benoit's other backend configuration patches into this patchset, and reconcile them for stylistic and design consistency. This includes adding a versioning capability for the backend config structures.
This patchset also incorporates feedback from a number of reviewers. The resultant changes have ended up a bit more extensive than I had expected, and I apologize for any toe stepping I'm doing but my hope is to move the collective work closer to being landable. --- v6: - Squash various already-reviewed patches - Fix installation of header files in makefile - Add #defines for WESTON_*_BACKEND_CONFIG_VERSION - Don't use underscore prefixes in header guards - Add config_init_to_default() stubs to setup backend config defaults - Drop unneeded create_output callback in weston_backend structure - Pass gbm_format as enum rather than string in drm output configuration - Allocate config objects on stack - Fail if invalid output width or height are given in x11 backend - Preserve priority for width/height cmdline options in x11 backend - Make the drm output configuration private to the drm backend, allowing gbm_format to be tracked as an enum rather than string - Allocate all outputs in one go for the x11 backend v5: - Add missing compositor-drm.h - Integrate wayland, x11, and headless backend patches - Implement struct versioning for wayland, x11, and headless backend patches in the weston_backend_config structure, as requested by pq - Drop bzero usage as suggested in review by Jan Engelhardt - Don't change 'backend_init' entry point function name, as suggested in review by Giulio - Prefer use of load_backend_new() for actual module loading, as suggested in Giulio's review of the x11 backend patch - Refactor all backend initialization code paths and code style for consistency. v4: - Update to current trunk - Add missing param doc for mode in drm_output_choose_initial_mode - Rebase to account for code changes by 91880f1e to make vt switching configurable. Benoit Gschwind (2): x11: port the x11 backend to the new init api headless: port the headless backend to the new init api Bryce Harrington (9): drm: Spelling fix in comment Revert 'main: Remove unused function load_backend_new()' compositor: Drop unneeded create_output callback compositor: Version the backend configuration structures drm: Don't hang onto the backend config object post-backend_init drm: Move drm's output configuration into the drm backend drm: Pass gbm_format as enum rather than string in output config Enforce destruction of all backend config objects after initialization x11: Initialize all outputs at start Giulio Camuffo (1): drm: port the drm backend to the new init api Makefile.am | 9 ++ src/compositor-drm.c | 288 ++++++++++++++++++++++++++-------------------- src/compositor-drm.h | 86 ++++++++++++++ src/compositor-headless.c | 74 ++++++------ src/compositor-headless.h | 53 +++++++++ src/compositor-x11.c | 158 +++++++++---------------- src/compositor-x11.h | 62 ++++++++++ src/compositor.h | 32 ++++-- src/main.c | 230 +++++++++++++++++++++++++++++++++++- 9 files changed, 708 insertions(+), 284 deletions(-) create mode 100644 src/compositor-drm.h create mode 100644 src/compositor-headless.h create mode 100644 src/compositor-x11.h -- 1.9.1 _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel