-->
<xcb header="dri2" extension-xname="DRI2" extension-name="DRI2"
- major-version="1" minor-version="1">
+ major-version="1" minor-version="4">
<import>xproto</import>
<enum name="Attachment">
- <item name="BufferFrontLeft" />
- <item name="BufferBackLeft" />
- <item name="BufferFrontRight" />
- <item name="BufferBackRight" />
- <item name="BufferDepth" />
- <item name="BufferStencil" />
- <item name="BufferAccum" />
- <item name="BufferFakeFrontLeft" />
- <item name="BufferFakeFrontRight" />
- <item name="BufferDepthStencil" />
+ <item name="BufferFrontLeft"> <value>0</value> </item>
+ <item name="BufferBackLeft"> <value>1</value> </item>
+ <item name="BufferFrontRight"> <value>2</value> </item>
+ <item name="BufferBackRight"> <value>3</value> </item>
+ <item name="BufferDepth"> <value>4</value> </item>
+ <item name="BufferStencil"> <value>5</value> </item>
+ <item name="BufferAccum"> <value>6</value> </item>
+ <item name="BufferFakeFrontLeft"> <value>7</value> </item>
+ <item name="BufferFakeFrontRight"> <value>8</value> </item>
+ <item name="BufferDepthStencil"> <value>9</value> </item>
+ <item name="BufferHiz"> <value>10</value> </item>
</enum>
<enum name="DriverType">
- <item name="DRI" />
+ <item name="DRI"> <value>0</value> </item>
+ <item name="VDPAU"> <value>1</value> </item>
+ </enum>
+
+ <enum name="EventType">
+ <item name="ExchangeComplete"><value>1</value></item>
+ <item name="BlitComplete"> <value>2</value></item>
+ <item name="FlipComplete"> <value>3</value></item>
</enum>
<!-- Types -->
<op op="&">
<op op="+">
<fieldref>driver_name_length</fieldref>
- <value> 3 </value>
+ <value>3</value>
</op>
<unop op="~">
<value>3</value>
<request name="GetBuffers" opcode="5">
<field type="DRAWABLE" name="drawable" />
<field type="CARD32" name="count" />
- <list type="CARD32" name="attachments" />
+ <list type="CARD32" name="attachments">
+ <!-- The length field should be linked but we can't correct it without breaking API -->
+ <!-- <fieldref>count</fieldref> -->
+ </list>
<reply>
<pad bytes="1" />
<field type="CARD32" name="width" />
<request name="GetBuffersWithFormat" opcode="7">
<field type="DRAWABLE" name="drawable" />
<field type="CARD32" name="count" />
- <list type="AttachFormat" name="attachments" />
+ <list type="AttachFormat" name="attachments">
+ <!-- The length field should be linked but we can't correct it without breaking API -->
+ <!-- <fieldref>count</fieldref> -->
+ </list>
<reply>
<pad bytes="1" />
<field type="CARD32" name="width" />
</list>
</reply>
</request>
+
+ <!-- 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>
+
+ <!-- Version 1.4 -->
+
+ <request name="GetParam" opcode="13">
+ <field type="DRAWABLE" name="drawable" />
+ <field type="CARD32" name="param" />
+ <reply>
+ <field type="BOOL" name="is_param_recognized" />
+ <field type="CARD32" name="value_hi" />
+ <field type="CARD32" name="value_lo" />
+ </reply>
+ </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>
</xcb>