1
<?xml version="1.0" encoding="UTF-8"?>
2
<protocol name="android">
5
Copyright © 2012 Collabora, Ltd.
7
Permission to use, copy, modify, distribute, and sell this
8
software and its documentation for any purpose is hereby granted
9
without fee, provided that the above copyright notice appear in
10
all copies and that both that copyright notice and this permission
11
notice appear in supporting documentation, and that the name of
12
the copyright holders not be used in advertising or publicity
13
pertaining to distribution of the software without specific,
14
written prior permission. The copyright holders make no
15
representations about the suitability of this software for any
16
purpose. It is provided "as is" without express or implied
19
THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
20
SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
21
FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
22
SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
23
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
24
AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
25
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
29
<interface name="android_wlegl" version="1">
30
<description summary="Android EGL graphics buffer support">
31
Interface used in the Android wrapper libEGL to share
32
graphics buffers between the server and the client.
36
<entry name="bad_handle" value="0" />
37
<entry name="bad_value" value="1" />
40
<request name="create_handle">
41
<description summary="Create an Android native_handle_t object">
42
This creator method initialises the native_handle_t object
43
with everything except the file descriptors, which have to be
47
<arg name="id" type="new_id" interface="android_wlegl_handle" />
48
<arg name="num_fds" type="int" />
49
<arg name="ints" type="array" summary="an array of int32_t" />
52
<request name="create_buffer">
53
<description summary="Create a wl_buffer from the native handle">
54
Pass the Android native_handle_t to the server and attach it
55
to the new wl_buffer object.
57
The android_wlegl_handle object must be destroyed immediately
61
<arg name="id" type="new_id" interface="wl_buffer" />
62
<arg name="width" type="int" />
63
<arg name="height" type="int" />
64
<arg name="stride" type="int" />
65
<arg name="format" type="int" />
66
<arg name="usage" type="int" />
67
<arg name="native_handle" type="object" interface="android_wlegl_handle" />
72
<interface name="android_wlegl_handle" version="1">
73
<description summary="An Android native_handle_t object">
74
The Android native_handle_t is a semi-opaque object, that
75
contains an EGL implementation specific number of int32
76
values and file descriptors.
78
We cannot send a variable size array of file descriptors
79
over the Wayland protocol, so we send them one by one.
83
<entry name="too_many_fds" value="0" />
86
<request name="add_fd">
87
<arg name="fd" type="fd" />
90
<request name="destroy" type="destructor" />