This second MR in the Wayland series adds display configuration related enhancements, including providing more display information (like a proper/consistent name and position) to Wine and implementing GetCurrentDisplaySettings.
To get additional information from the Wayland compositor we need to use a protocol from the wayland-protocols collection, so we introduce support in the build system for protocol .xml files. These changes are introduced on their own in the first commit in the series, but we can squash it with the next commit, where the functionality is first used, if preferred.
To be able to provide a consistent view of the display settings across all processes, this MR adds a shared memory region containing an authoritative version of the Wayland output information (see the "winewayland.drv: Implement GetCurrentDisplaySettings." commit for more details).
Thanks!
-- v2: winewayland.drv: Update desktop window size on display changes. winewayland.drv: Update registry settings after monitor changes. winewayland.drv: Infer and report Windows monitor positions. winewayland.drv: Handle wl_output objects only in the desktop process. winewayland.drv: Implement GetCurrentDisplaySettings. winewayland.drv: Use the output name reported by the compositor. tools: Support building Wayland protocol source files.