Add extended shared memory attach support
This provides an extended version of
create_pool2, which allows the client to specify an offset in the
file to map at.
create_pool2 also allows for larger pools, up to
2³² - 1 bytes in length.
wl_shm_pool has been extended to support
The intended use-case for this extension is when one needs to map
a drawable from a character special device, but it can also be
used with regular files if one needs to map with a nonzero offset.
Qubes OS needs the Wayland compositor to map the
character device, which represents memory shared by a different Xen
virtual machine. Currently, this can be accomplished by opening a
separate instance of
/dev/xen/gntdev every time, but that is slightly
wasteful and relies on undocumented behavior in the kernel driver.
As Wayland does not support 64-bit integers, the offset is passed as two 32-bit numbers. Client libraries should hide this difference if possible.
Signed-off-by: Demi Marie Obenour email@example.com