+
+ <!-- Version 1.2 -->
+
+ <request name="SwapBuffers" opcode="8">
+ <field type="DRAWABLE" name="drawable" />
+ <field type="CARD32" name="target_msc_hi" />
+ <field type="CARD32" name="target_msc_lo" />
+ <field type="CARD32" name="divisor_hi" />
+ <field type="CARD32" name="divisor_lo" />
+ <field type="CARD32" name="remainder_hi" />
+ <field type="CARD32" name="remainder_lo" />
+ <reply>
+ <pad bytes="1" />
+ <field type="CARD32" name="swap_hi" />
+ <field type="CARD32" name="swap_lo" />
+ </reply>
+ </request>
+
+ <request name="GetMSC" opcode="9">
+ <field type="DRAWABLE" name="drawable" />
+ <reply>
+ <pad bytes="1" />
+ <field type="CARD32" name="ust_hi" />
+ <field type="CARD32" name="ust_lo" />
+ <field type="CARD32" name="msc_hi" />
+ <field type="CARD32" name="msc_lo" />
+ <field type="CARD32" name="sbc_hi" />
+ <field type="CARD32" name="sbc_lo" />
+ </reply>
+ </request>
+
+ <request name="WaitMSC" opcode="10">
+ <field type="DRAWABLE" name="drawable" />
+ <field type="CARD32" name="target_msc_hi" />
+ <field type="CARD32" name="target_msc_lo" />
+ <field type="CARD32" name="divisor_hi" />
+ <field type="CARD32" name="divisor_lo" />
+ <field type="CARD32" name="remainder_hi" />
+ <field type="CARD32" name="remainder_lo" />
+ <reply>
+ <pad bytes="1" />
+ <field type="CARD32" name="ust_hi" />
+ <field type="CARD32" name="ust_lo" />
+ <field type="CARD32" name="msc_hi" />
+ <field type="CARD32" name="msc_lo" />
+ <field type="CARD32" name="sbc_hi" />
+ <field type="CARD32" name="sbc_lo" />
+ </reply>
+ </request>
+
+ <request name="WaitSBC" opcode="11">
+ <field type="DRAWABLE" name="drawable" />
+ <field type="CARD32" name="target_sbc_hi" />
+ <field type="CARD32" name="target_sbc_lo" />
+ <reply>
+ <pad bytes="1" />
+ <field type="CARD32" name="ust_hi" />
+ <field type="CARD32" name="ust_lo" />
+ <field type="CARD32" name="msc_hi" />
+ <field type="CARD32" name="msc_lo" />
+ <field type="CARD32" name="sbc_hi" />
+ <field type="CARD32" name="sbc_lo" />
+ </reply>
+ </request>
+
+ <request name="SwapInterval" opcode="12">
+ <field type="DRAWABLE" name="drawable" />
+ <field type="CARD32" name="interval" />
+ </request>
+
+ <!-- Events -->
+
+ <event name="BufferSwapComplete" number="0">
+ <pad bytes="1" />
+ <field type="CARD16" name="event_type" enum="EventType" />
+ <pad bytes="2" />
+ <field type="DRAWABLE" name="drawable" />
+ <field type="CARD32" name="ust_hi" />
+ <field type="CARD32" name="ust_lo" />
+ <field type="CARD32" name="msc_hi" />
+ <field type="CARD32" name="msc_lo" />
+ <field type="CARD32" name="sbc" />
+ </event>
+
+ <!-- Version 1.3 -->
+
+ <event name="InvalidateBuffers" number="1">
+ <pad bytes="1" />
+ <field type="DRAWABLE" name="drawable" />
+ </event>