Commit | Line | Data |
---|---|---|
d42e7319 JB |
1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <protocol name="android"> | |
3 | ||
4 | <copyright> | |
5 | Copyright © 2012 Collabora, Ltd. | |
6 | ||
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 | |
17 | warranty. | |
18 | ||
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 | |
26 | THIS SOFTWARE. | |
27 | </copyright> | |
28 | ||
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. | |
33 | </description> | |
34 | ||
35 | <enum name="error"> | |
36 | <entry name="bad_handle" value="0" /> | |
37 | <entry name="bad_value" value="1" /> | |
38 | </enum> | |
39 | ||
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 | |
44 | submitted separately. | |
45 | </description> | |
46 | ||
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" /> | |
50 | </request> | |
51 | ||
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. | |
56 | ||
57 | The android_wlegl_handle object must be destroyed immediately | |
58 | after this request. | |
59 | </description> | |
60 | ||
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" /> | |
68 | </request> | |
69 | ||
70 | </interface> | |
71 | ||
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. | |
77 | ||
78 | We cannot send a variable size array of file descriptors | |
79 | over the Wayland protocol, so we send them one by one. | |
80 | </description> | |
81 | ||
82 | <enum name="error"> | |
83 | <entry name="too_many_fds" value="0" /> | |
84 | </enum> | |
85 | ||
86 | <request name="add_fd"> | |
87 | <arg name="fd" type="fd" /> | |
88 | </request> | |
89 | ||
90 | <request name="destroy" type="destructor" /> | |
91 | ||
92 | </interface> | |
93 | ||
94 | </protocol> |