1 <?xml version="1.0" encoding="UTF-8"?>
3 <protocol name="wl_tdm">
5 <interface name="wl_tdm" version="1">
7 <description summary="the private protocol for TDM">
8 TDM uses the wayland protocol to communicate between tdm client and tdm server.
11 <event name="debug_message">
12 <arg name="message" type="string"/>
15 <event name="debug_done" />
17 <request name="debug">
18 <arg name="options" type="string" summary="debug options"/>
21 <request name="create_output">
22 <arg name="name" type="string" summary="output's name. 'primary' or 'default' can be used for default."/>
23 <arg name="id" type="new_id" interface="wl_tdm_output"/>
26 <request name="create_voutput">
27 <arg name="name" type="string" summary=""/>
28 <arg name="id" type="new_id" interface="wl_tdm_voutput"/>
33 <interface name="wl_tdm_output" version="1">
34 <description summary="TDM client output object">
35 When the DPMS of connection status of the output is changed, TDM server
36 will send wl_tdm_output.mode and wl_tdm_output.dpms event.
40 <arg name="width" type="uint"/>
41 <arg name="height" type="uint"/>
42 <arg name="refresh" type="uint"/>
43 <arg name="error" type="uint" summary="error status enumeration"/>
46 <event name="connection">
47 <arg name="value" type="uint"/>
48 <arg name="error" type="uint" summary="error status enumeration"/>
52 <arg name="value" type="uint"/>
53 <arg name="error" type="uint" summary="error status enumeration"/>
56 <event name="available_modes">
57 <arg name="modes" type="array"/>
58 <arg name="error" type="uint" summary="error status enumeration"/>
61 <request name="destroy" type="destructor"/>
63 <request name="create_vblank">
64 <arg name="id" type="new_id" interface="wl_tdm_vblank"/>
67 <request name="watch_output_changes">
68 <arg name="enable" type="uint"/>
71 <request name="get_connection"/>
73 <request name="get_mode"/>
75 <request name="get_dpms"/>
77 <request name="get_available_modes"/>
79 <request name="set_mode">
80 <arg name="index" type="uint"/>
85 <interface name="wl_tdm_voutput" version="1">
86 <description summary="TDM client virtual output object">
89 <request name="destroy" type="destructor"/>
91 <request name="set_available_modes">
92 <arg name="modes" type="array"/>
95 <request name="set_physical_size">
96 <arg name="mmwidth" type="uint" summary=""/>
97 <arg name="mmheight" type="uint" summary=""/>
100 <request name="connect"/>
102 <request name="disconnect"/>
104 <request name="commit_done"/>
106 <event name="buffer_set_with_id">
107 <arg name="wl_buffer" type="new_id" interface="wl_buffer"/>
108 <arg name="width" type="int"/>
109 <arg name="height" type="int"/>
110 <arg name="format" type="uint"/>
111 <arg name="bpp" type="int"/>
112 <arg name="size" type="int"/>
113 <arg name="num_plane" type="int"/>
114 <arg name="plane_buf_idx" type="array"/>
115 <arg name="plane_offset" type="array"/>
116 <arg name="plane_stride" type="array"/>
117 <arg name="plane_size" type="array"/>
118 <arg name="flags" type="uint"/>
119 <arg name="num_buf" type="int"/>
120 <arg name="buf0" type="uint"/>
121 <arg name="buf1" type="uint"/>
122 <arg name="buf2" type="uint"/>
125 <event name="buffer_set_with_fd">
126 <arg name="wl_buffer" type="new_id" interface="wl_buffer"/>
127 <arg name="width" type="int"/>
128 <arg name="height" type="int"/>
129 <arg name="format" type="uint"/>
130 <arg name="bpp" type="int"/>
131 <arg name="size" type="int"/>
132 <arg name="num_plane" type="int"/>
133 <arg name="plane_buf_idx" type="array"/>
134 <arg name="plane_offset" type="array"/>
135 <arg name="plane_stride" type="array"/>
136 <arg name="plane_size" type="array"/>
137 <arg name="flags" type="uint"/>
138 <arg name="num_buf" type="int"/>
139 <arg name="buf0" type="fd"/>
140 <arg name="buf1" type="fd"/>
141 <arg name="buf2" type="fd"/>
144 <event name="destroy_buffer">
145 <arg name="buffer" type="object" interface="wl_buffer"/>
148 <event name="attach_buffer">
149 <arg name="buffer" type="object" interface="wl_buffer"/>
152 <event name="commit"/>
153 <event name="ack_message">
154 <arg name="msg" type="uint" enum="message" summary=""/>
156 <enum name="message">
157 <entry name="unknown" value="0" summary=""/>
158 <entry name="added" value="1" summary=""/>
159 <entry name="permission_denied" value="2" summary=""/>
163 <interface name="wl_tdm_vblank" version="1">
166 <arg name="stamp" type="uint"/>
170 <arg name="req_id" type="uint" summary="wait_vblank request ID"/>
171 <arg name="sequence" type="uint" summary="the sequence number of the vblank"/>
172 <arg name="tv_sec" type="uint" summary="sec of the vblank"/>
173 <arg name="tv_usec" type="uint" summary="usec of the vblank"/>
174 <arg name="error" type="uint" summary="error status enumeration"/>
177 <event name="ttrace">
178 <arg name="enable" type="uint"/>
181 <request name="destroy" type="destructor"/>
183 <request name="set_name">
184 <arg name="name" type="string"/>
187 <request name="set_fps">
188 <arg name="fps" type="uint"/>
191 <request name="set_offset">
192 <arg name="offset" type="int"/>
195 <request name="set_enable_fake">
196 <arg name="enable_fake" type="uint"/>
199 <request name="wait_vblank">
200 <description summary="Wait for a HW vblank">
201 When wl_tdm_vblank.wait_vblank is called, TDM server will send the
202 wl_tdm_vblank.done event after interval vblanks. If enable_fake == 1,
203 TDM server will send the done event always. Otherwise, TDM server will
204 send the done event with TDM error value.
207 <arg name="interval" type="uint"/>
208 <arg name="req_id" type="uint" summary="wait_vblank request ID"/>
209 <arg name="req_sec" type="uint" summary="sec of the request time in client side"/>
210 <arg name="req_usec" type="uint" summary="usec of the request time in client side"/>
213 <request name="wait_vblank_seq">
214 <arg name="sequence" type="uint" summary="the target sequence number"/>
215 <arg name="req_id" type="uint" summary="wait_vblank request ID"/>
216 <arg name="req_sec" type="uint" summary="sec of the request time in client side"/>
217 <arg name="req_usec" type="uint" summary="usec of the request time in client side"/>