Handle 10 bits colour bit depth in actor picking
Currently it appears clutter assumes the channel depth of picking frame buffer to be fixed at 8 bits. However, this isn't necessarily the case on modern systems. For example: in the open source AMD driver under Wayland, cogl reports a pixel format of 1010102, i.e. 10 bpc for the RGB channels. In clutter, this leads to the the actor id being incorrectly encoded into the color channels of the actor's pixel in the picking frame buffer. This breaks picking functionality for users with 10 bpc hardware, the result is that applications such as gnome-maps, totem and cheese do not process mouse input. Which has been reported in various issues:
- GNOME/gnome-maps#129 (comment 596967)
- https://bugzilla.redhat.com/show_bug.cgi?id=1560481
- https://gitlab.gnome.org/GNOME/clutter-gtk/issues/2
One current work around for packagers seems to be to disable 10bpc support in mesa all together, see https://bugzilla.redhat.com/show_bug.cgi?id=1560481#c52. However not all distros enforce this (Arch doesn't for example).
Rather than forcing downstream users to disable 10 bpc support, clutter should handle 10 bpc frame buffers for its picking functionally.