This example shows how to use the texture sharing extension, allowing
multiple clients to share the same copy of an image in graphics memory.

The texture sharing extension uses the server buffer extension to transport
graphics buffers. There are different server buffer plugins for different
graphics hardware. This is specified by setting an environment variable for
the compositor process.

-On a device with Mesa and Intel integrated graphics, set:

  QT_WAYLAND_SERVER_BUFFER_INTEGRATION=dmabuf-server

-On a device with NVIDIA graphics, set:

  QT_WAYLAND_SERVER_BUFFER_INTEGRATION=vulkan-server

'custom-compositor' shows how to write a server that creates shared textures
programmatically.

The file 'minimal-compositor.qml' shows how to add texture sharing to an
existing compositor, using only QML. It is based on the minimal-qml example,
and can be executed with qmlscene.

'qml-client' shows how to use shared textures in a Qt Quick client.
The compositor uses the hardware integration extension to broadcast
the name of the server buffer integration to all clients, so qml-client
can be started like any normal wayland client.
