Imported Upstream version 0.1.0+git20131207+e452e83
[deb_libhybris.git] / hybris / egl / platforms / common / wayland-android.xml
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>