+ <interface name="wl_tdm_voutput" version="1">
+ <description summary="TDM client virtual output object">
+ </description>
+
+ <request name="destroy" type="destructor"/>
+
+ <request name="set_available_modes">
+ <arg name="modes" type="array"/>
+ </request>
+
+ <request name="set_physical_size">
+ <arg name="mmwidth" type="uint" summary=""/>
+ <arg name="mmheight" type="uint" summary=""/>
+ </request>
+
+ <request name="connect"/>
+
+ <request name="disconnect"/>
+
+ <request name="commit_done"/>
+
+ <event name="buffer_set_with_id">
+ <arg name="wl_buffer" type="new_id" interface="wl_buffer"/>
+ <arg name="width" type="int"/>
+ <arg name="height" type="int"/>
+ <arg name="format" type="uint"/>
+ <arg name="bpp" type="int"/>
+ <arg name="size" type="int"/>
+ <arg name="num_plane" type="int"/>
+ <arg name="plane_buf_idx" type="array"/>
+ <arg name="plane_offset" type="array"/>
+ <arg name="plane_stride" type="array"/>
+ <arg name="plane_size" type="array"/>
+ <arg name="flags" type="uint"/>
+ <arg name="num_buf" type="int"/>
+ <arg name="buf0" type="uint"/>
+ <arg name="buf1" type="uint"/>
+ <arg name="buf2" type="uint"/>
+ </event>
+
+ <event name="buffer_set_with_fd">
+ <arg name="wl_buffer" type="new_id" interface="wl_buffer"/>
+ <arg name="width" type="int"/>
+ <arg name="height" type="int"/>
+ <arg name="format" type="uint"/>
+ <arg name="bpp" type="int"/>
+ <arg name="size" type="int"/>
+ <arg name="num_plane" type="int"/>
+ <arg name="plane_buf_idx" type="array"/>
+ <arg name="plane_offset" type="array"/>
+ <arg name="plane_stride" type="array"/>
+ <arg name="plane_size" type="array"/>
+ <arg name="flags" type="uint"/>
+ <arg name="num_buf" type="int"/>
+ <arg name="buf0" type="fd"/>
+ <arg name="buf1" type="fd"/>
+ <arg name="buf2" type="fd"/>
+ </event>
+
+ <event name="destroy_buffer">
+ <arg name="buffer" type="object" interface="wl_buffer"/>
+ </event>
+
+ <event name="commit"/>
+ <event name="ack_message">
+ <arg name="msg" type="uint" enum="message" summary=""/>
+ </event>
+ <enum name="message">
+ <entry name="unknown" value="0" summary=""/>
+ <entry name="added" value="1" summary=""/>
+ <entry name="permission_denied" value="2" summary=""/>
+ </enum>
+ </interface>
+
+ <interface name="wl_tdm_vblank" version="1">
+
+ <event name="stamp">
+ <arg name="stamp" type="uint"/>
+ </event>
+
+ <event name="done">
+ <arg name="req_id" type="uint" summary="wait_vblank request ID"/>
+ <arg name="sequence" type="uint" summary="the sequence number of the vblank"/>
+ <arg name="tv_sec" type="uint" summary="sec of the vblank"/>
+ <arg name="tv_usec" type="uint" summary="usec of the vblank"/>
+ <arg name="error" type="uint" summary="error status enumeration"/>
+ </event>
+
+ <event name="ttrace">
+ <arg name="enable" type="uint"/>
+ </event>
+
+ <request name="destroy" type="destructor"/>
+
+ <request name="set_name">
+ <arg name="name" type="string"/>
+ </request>
+
+ <request name="set_fps">
+ <arg name="fps" type="uint"/>
+ </request>
+
+ <request name="set_offset">
+ <arg name="offset" type="int"/>
+ </request>
+
+ <request name="set_enable_fake">
+ <arg name="enable_fake" type="uint"/>
+ </request>
+
+ <request name="wait_vblank">
+ <description summary="Wait for a HW vblank">
+ When wl_tdm_vblank.wait_vblank is called, TDM server will send the
+ wl_tdm_vblank.done event after interval vblanks. If enable_fake == 1,
+ TDM server will send the done event always. Otherwise, TDM server will
+ send the done event with TDM error value.
+ </description>
+
+ <arg name="interval" type="uint"/>
+ <arg name="req_id" type="uint" summary="wait_vblank request ID"/>
+ <arg name="req_sec" type="uint" summary="sec of the request time in client side"/>
+ <arg name="req_usec" type="uint" summary="usec of the request time in client side"/>
+ </request>