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 <request name="create_output">
12 <arg name="name" type="string" summary="output's name"/>
13 <arg name="id" type="new_id" interface="wl_tdm_output"/>
18 <interface name="wl_tdm_output" version="1">
21 <arg name="width" type="uint"/>
22 <arg name="height" type="uint"/>
23 <arg name="refresh" type="uint"/>
26 <event name="connection">
27 <arg name="value" type="uint"/>
31 <arg name="value" type="uint"/>
34 <request name="destroy" type="destructor"/>
36 <request name="create_vblank">
37 <arg name="id" type="new_id" interface="wl_tdm_vblank"/>
42 <interface name="wl_tdm_vblank" version="1">
45 <arg name="req_id" type="uint" summary="wait_vblank request ID"/>
46 <arg name="sequence" type="uint" summary="sequence of the HW vblank"/>
47 <arg name="tv_sec" type="uint" summary="sec of the HW vblank in kernel side"/>
48 <arg name="tv_usec" type="uint" summary="usec of the HW vblank in kernel side"/>
49 <arg name="error" type="uint" summary="error status enumeration"/>
52 <request name="destroy" type="destructor"/>
54 <request name="set_fps">
55 <arg name="fps" type="uint"/>
58 <request name="set_offset">
59 <arg name="offset" type="int"/>
62 <request name="set_enable_fake">
63 <arg name="enable_fake" type="uint"/>
66 <request name="wait_vblank">
67 <description summary="Wait for a HW vblank">
68 When wl_tdm_vblank.wait_vblank is called, TDM server will send the wl_tdm_vblank.done
69 event which is aligned with HW vblank. Even if DPMS is off, it will send
70 wl_tdm_vblank.done events by using SW timer.
73 <arg name="interval" type="uint"/>
74 <arg name="req_id" type="uint" summary="wait_vblank request ID"/>
75 <arg name="req_sec" type="uint" summary="sec of the request time in client side"/>
76 <arg name="req_usec" type="uint" summary="usec of the request time in client side"/>