Fix modifier server / non-mod client

Submitted by Daniel Stone on April 4, 2018, 3:16 p.m.


Reviewer None
Submitted April 4, 2018, 3:16 p.m.
Last Updated April 4, 2018, 3:17 p.m.
Revision 1

Cover Letter

This series fixes running a modifier-aware server with a
non-modifier-aware DRI3 compositing manager. We'd thought of and dealt
with the case where we had legacy/non-modifier-aware clients, but
slipped up with non-modifier-aware compositing managers.

Glamor would allocate pixmaps with the full set of modifiers available
to it from GBM/EGL, then try to export them to a non-modifier-aware
client. This may fail outright (e.g. when the modifier adds a plane), or
result in garbage (with an exotic modifier selection the client can't
infer via magic back channels).

When we get a request to export a buffer to a non-modifier-aware client
in Glamor, forcibly reallocate it with no explicit modifiers, so we get
something that can be exported to legacy clients.