dri2.xml revision b26960f7
1d4401354Smrg<?xml version="1.0" encoding="utf-8"?> 2d4401354Smrg<!-- 3d4401354SmrgCopyright (C) 2005 Jeremy Kolb. 4d4401354SmrgCopyright © 2009 Intel Corporation 5d4401354SmrgAll Rights Reserved. 6d4401354Smrg 7d4401354SmrgPermission is hereby granted, free of charge, to any person obtaining a copy 8d4401354Smrgof this software and associated documentation files (the "Software"), to deal 9d4401354Smrgin the Software without restriction, including without limitation the rights 10d4401354Smrgto use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11d4401354Smrgcopies of the Software, and to permit persons to whom the Software is 12d4401354Smrgfurnished to do so, subject to the following conditions: 13d4401354Smrg 14d4401354SmrgThe above copyright notice and this permission notice shall be included in all 15d4401354Smrgcopies or substantial portions of the Software. 16d4401354Smrg 17d4401354SmrgTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18d4401354SmrgIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19d4401354SmrgFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20d4401354SmrgAUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 21d4401354SmrgACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22d4401354SmrgWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23d4401354Smrg 24d4401354SmrgExcept as contained in this notice, the names of the authors or their 25d4401354Smrginstitutions shall not be used in advertising or otherwise to promote the 26d4401354Smrgsale, use or other dealings in this Software without prior written 27d4401354Smrgauthorization from the authors. 28d4401354Smrg--> 29d4401354Smrg 30d4401354Smrg<xcb header="dri2" extension-xname="DRI2" extension-name="DRI2" 31986c8b3dSmrg major-version="1" minor-version="4"> 32d4401354Smrg <import>xproto</import> 33d4401354Smrg 34d4401354Smrg <enum name="Attachment"> 35f591e195Smrg <item name="BufferFrontLeft"> <value>0</value> </item> 36f591e195Smrg <item name="BufferBackLeft"> <value>1</value> </item> 37f591e195Smrg <item name="BufferFrontRight"> <value>2</value> </item> 38f591e195Smrg <item name="BufferBackRight"> <value>3</value> </item> 39f591e195Smrg <item name="BufferDepth"> <value>4</value> </item> 40f591e195Smrg <item name="BufferStencil"> <value>5</value> </item> 41f591e195Smrg <item name="BufferAccum"> <value>6</value> </item> 42f591e195Smrg <item name="BufferFakeFrontLeft"> <value>7</value> </item> 43f591e195Smrg <item name="BufferFakeFrontRight"> <value>8</value> </item> 44f591e195Smrg <item name="BufferDepthStencil"> <value>9</value> </item> 45f591e195Smrg <item name="BufferHiz"> <value>10</value> </item> 46d4401354Smrg </enum> 47d4401354Smrg 48d4401354Smrg <enum name="DriverType"> 49f591e195Smrg <item name="DRI"> <value>0</value> </item> 50f591e195Smrg <item name="VDPAU"> <value>1</value> </item> 51986c8b3dSmrg </enum> 52986c8b3dSmrg 53986c8b3dSmrg <enum name="EventType"> 54986c8b3dSmrg <item name="ExchangeComplete"><value>1</value></item> 55986c8b3dSmrg <item name="BlitComplete"> <value>2</value></item> 56986c8b3dSmrg <item name="FlipComplete"> <value>3</value></item> 57d4401354Smrg </enum> 58d4401354Smrg 59d4401354Smrg <!-- Types --> 60d4401354Smrg 61d4401354Smrg <struct name="DRI2Buffer"> 62d4401354Smrg <field type="CARD32" name="attachment" enum="Attachment" /> 63d4401354Smrg <field type="CARD32" name="name" /> 64d4401354Smrg <field type="CARD32" name="pitch" /> 65d4401354Smrg <field type="CARD32" name="cpp" /> 66d4401354Smrg <field type="CARD32" name="flags" /> 67d4401354Smrg </struct> 68d4401354Smrg 69d4401354Smrg <struct name="AttachFormat"> 70d4401354Smrg <field type="CARD32" name="attachment" enum="Attachment" /> 71d4401354Smrg <field type="CARD32" name="format" /> 72d4401354Smrg </struct> 73d4401354Smrg 74d4401354Smrg <!-- Requests --> 75d4401354Smrg <request name="QueryVersion" opcode="0"> 76d4401354Smrg <field type="CARD32" name="major_version" /> 77d4401354Smrg <field type="CARD32" name="minor_version" /> 78d4401354Smrg <reply> 79d4401354Smrg <pad bytes="1" /> 80d4401354Smrg <field type="CARD32" name="major_version" /> 81d4401354Smrg <field type="CARD32" name="minor_version" /> 82d4401354Smrg </reply> 83d4401354Smrg </request> 84d4401354Smrg 85d4401354Smrg <request name="Connect" opcode="1"> 86d4401354Smrg <field type="WINDOW" name="window" /> 87d4401354Smrg <field type="CARD32" name="driver_type" enum="DriverType" /> 88d4401354Smrg <reply> 89d4401354Smrg <pad bytes="1" /> 90d4401354Smrg <field type="CARD32" name="driver_name_length" /> 91d4401354Smrg <field type="CARD32" name="device_name_length" /> 92d4401354Smrg <pad bytes="16" /> 93d4401354Smrg <list type="char" name="driver_name"> 94d4401354Smrg <fieldref>driver_name_length</fieldref> 95d4401354Smrg </list> 96986c8b3dSmrg <list type="void" name="alignment_pad"> 97986c8b3dSmrg <op op="-"> 98986c8b3dSmrg <op op="&"> 99986c8b3dSmrg <op op="+"> 100986c8b3dSmrg <fieldref>driver_name_length</fieldref> 101b26960f7Smrg <value>3</value> 102986c8b3dSmrg </op> 103986c8b3dSmrg <unop op="~"> 104986c8b3dSmrg <value>3</value> 105986c8b3dSmrg </unop> 106986c8b3dSmrg </op> 107986c8b3dSmrg <fieldref>driver_name_length</fieldref> 108986c8b3dSmrg </op> 109986c8b3dSmrg </list> 110d4401354Smrg <list type="char" name="device_name"> 111d4401354Smrg <fieldref>device_name_length</fieldref> 112d4401354Smrg </list> 113d4401354Smrg </reply> 114d4401354Smrg </request> 115d4401354Smrg 116d4401354Smrg <request name="Authenticate" opcode="2"> 117d4401354Smrg <field type="WINDOW" name="window" /> 118d4401354Smrg <field type="CARD32" name="magic" /> 119d4401354Smrg <reply> 120d4401354Smrg <pad bytes="1" /> 121d4401354Smrg <field type="CARD32" name="authenticated" /> 122d4401354Smrg </reply> 123d4401354Smrg </request> 124d4401354Smrg 125d4401354Smrg <request name="CreateDrawable" opcode="3"> 126d4401354Smrg <field type="DRAWABLE" name="drawable" /> 127d4401354Smrg </request> 128d4401354Smrg 129d4401354Smrg <request name="DestroyDrawable" opcode="4"> 130d4401354Smrg <field type="DRAWABLE" name="drawable" /> 131d4401354Smrg </request> 132d4401354Smrg 133d4401354Smrg <request name="GetBuffers" opcode="5"> 134d4401354Smrg <field type="DRAWABLE" name="drawable" /> 135d4401354Smrg <field type="CARD32" name="count" /> 136b26960f7Smrg <list type="CARD32" name="attachments"> 137b26960f7Smrg <!-- The length field should be linked but we can't correct it without breaking API --> 138b26960f7Smrg <!-- <fieldref>count</fieldref> --> 139b26960f7Smrg </list> 140d4401354Smrg <reply> 141d4401354Smrg <pad bytes="1" /> 142d4401354Smrg <field type="CARD32" name="width" /> 143d4401354Smrg <field type="CARD32" name="height" /> 144d4401354Smrg <field type="CARD32" name="count" /> 145d4401354Smrg <pad bytes="12" /> 146d4401354Smrg <list type="DRI2Buffer" name="buffers"> 147d4401354Smrg <fieldref>count</fieldref> 148d4401354Smrg </list> 149d4401354Smrg </reply> 150d4401354Smrg </request> 151d4401354Smrg 152d4401354Smrg <request name="CopyRegion" opcode="6"> 153d4401354Smrg <field type="DRAWABLE" name="drawable" /> 154d4401354Smrg <field type="CARD32" name="region" /> 155d4401354Smrg <field type="CARD32" name="dest" /> 156d4401354Smrg <field type="CARD32" name="src" /> 157d4401354Smrg <reply> 158d4401354Smrg <pad bytes="1" /> 159d4401354Smrg </reply> 160d4401354Smrg </request> 161d4401354Smrg 162d4401354Smrg <request name="GetBuffersWithFormat" opcode="7"> 163d4401354Smrg <field type="DRAWABLE" name="drawable" /> 164d4401354Smrg <field type="CARD32" name="count" /> 165b26960f7Smrg <list type="AttachFormat" name="attachments"> 166b26960f7Smrg <!-- The length field should be linked but we can't correct it without breaking API --> 167b26960f7Smrg <!-- <fieldref>count</fieldref> --> 168b26960f7Smrg </list> 169d4401354Smrg <reply> 170d4401354Smrg <pad bytes="1" /> 171d4401354Smrg <field type="CARD32" name="width" /> 172d4401354Smrg <field type="CARD32" name="height" /> 173d4401354Smrg <field type="CARD32" name="count" /> 174d4401354Smrg <pad bytes="12" /> 175d4401354Smrg <list type="DRI2Buffer" name="buffers"> 176d4401354Smrg <fieldref>count</fieldref> 177d4401354Smrg </list> 178d4401354Smrg </reply> 179d4401354Smrg </request> 180986c8b3dSmrg 181986c8b3dSmrg <!-- Version 1.2 --> 182986c8b3dSmrg 183986c8b3dSmrg <request name="SwapBuffers" opcode="8"> 184986c8b3dSmrg <field type="DRAWABLE" name="drawable" /> 185986c8b3dSmrg <field type="CARD32" name="target_msc_hi" /> 186986c8b3dSmrg <field type="CARD32" name="target_msc_lo" /> 187986c8b3dSmrg <field type="CARD32" name="divisor_hi" /> 188986c8b3dSmrg <field type="CARD32" name="divisor_lo" /> 189986c8b3dSmrg <field type="CARD32" name="remainder_hi" /> 190986c8b3dSmrg <field type="CARD32" name="remainder_lo" /> 191986c8b3dSmrg <reply> 192986c8b3dSmrg <pad bytes="1" /> 193986c8b3dSmrg <field type="CARD32" name="swap_hi" /> 194986c8b3dSmrg <field type="CARD32" name="swap_lo" /> 195986c8b3dSmrg </reply> 196986c8b3dSmrg </request> 197986c8b3dSmrg 198986c8b3dSmrg <request name="GetMSC" opcode="9"> 199986c8b3dSmrg <field type="DRAWABLE" name="drawable" /> 200986c8b3dSmrg <reply> 201986c8b3dSmrg <pad bytes="1" /> 202986c8b3dSmrg <field type="CARD32" name="ust_hi" /> 203986c8b3dSmrg <field type="CARD32" name="ust_lo" /> 204986c8b3dSmrg <field type="CARD32" name="msc_hi" /> 205986c8b3dSmrg <field type="CARD32" name="msc_lo" /> 206986c8b3dSmrg <field type="CARD32" name="sbc_hi" /> 207986c8b3dSmrg <field type="CARD32" name="sbc_lo" /> 208986c8b3dSmrg </reply> 209986c8b3dSmrg </request> 210986c8b3dSmrg 211986c8b3dSmrg <request name="WaitMSC" opcode="10"> 212986c8b3dSmrg <field type="DRAWABLE" name="drawable" /> 213986c8b3dSmrg <field type="CARD32" name="target_msc_hi" /> 214986c8b3dSmrg <field type="CARD32" name="target_msc_lo" /> 215986c8b3dSmrg <field type="CARD32" name="divisor_hi" /> 216986c8b3dSmrg <field type="CARD32" name="divisor_lo" /> 217986c8b3dSmrg <field type="CARD32" name="remainder_hi" /> 218986c8b3dSmrg <field type="CARD32" name="remainder_lo" /> 219986c8b3dSmrg <reply> 220986c8b3dSmrg <pad bytes="1" /> 221986c8b3dSmrg <field type="CARD32" name="ust_hi" /> 222986c8b3dSmrg <field type="CARD32" name="ust_lo" /> 223986c8b3dSmrg <field type="CARD32" name="msc_hi" /> 224986c8b3dSmrg <field type="CARD32" name="msc_lo" /> 225986c8b3dSmrg <field type="CARD32" name="sbc_hi" /> 226986c8b3dSmrg <field type="CARD32" name="sbc_lo" /> 227986c8b3dSmrg </reply> 228986c8b3dSmrg </request> 229986c8b3dSmrg 230986c8b3dSmrg <request name="WaitSBC" opcode="11"> 231986c8b3dSmrg <field type="DRAWABLE" name="drawable" /> 232986c8b3dSmrg <field type="CARD32" name="target_sbc_hi" /> 233986c8b3dSmrg <field type="CARD32" name="target_sbc_lo" /> 234986c8b3dSmrg <reply> 235986c8b3dSmrg <pad bytes="1" /> 236986c8b3dSmrg <field type="CARD32" name="ust_hi" /> 237986c8b3dSmrg <field type="CARD32" name="ust_lo" /> 238986c8b3dSmrg <field type="CARD32" name="msc_hi" /> 239986c8b3dSmrg <field type="CARD32" name="msc_lo" /> 240986c8b3dSmrg <field type="CARD32" name="sbc_hi" /> 241986c8b3dSmrg <field type="CARD32" name="sbc_lo" /> 242986c8b3dSmrg </reply> 243986c8b3dSmrg </request> 244986c8b3dSmrg 245986c8b3dSmrg <request name="SwapInterval" opcode="12"> 246986c8b3dSmrg <field type="DRAWABLE" name="drawable" /> 247986c8b3dSmrg <field type="CARD32" name="interval" /> 248986c8b3dSmrg </request> 249986c8b3dSmrg 250986c8b3dSmrg <!-- Version 1.4 --> 251986c8b3dSmrg 252986c8b3dSmrg <request name="GetParam" opcode="13"> 253986c8b3dSmrg <field type="DRAWABLE" name="drawable" /> 254986c8b3dSmrg <field type="CARD32" name="param" /> 255986c8b3dSmrg <reply> 256986c8b3dSmrg <field type="BOOL" name="is_param_recognized" /> 257986c8b3dSmrg <field type="CARD32" name="value_hi" /> 258986c8b3dSmrg <field type="CARD32" name="value_lo" /> 259986c8b3dSmrg </reply> 260986c8b3dSmrg </request> 261986c8b3dSmrg 262986c8b3dSmrg <!-- Events --> 263986c8b3dSmrg 264986c8b3dSmrg <event name="BufferSwapComplete" number="0"> 265986c8b3dSmrg <pad bytes="1" /> 266986c8b3dSmrg <field type="CARD16" name="event_type" enum="EventType" /> 267986c8b3dSmrg <pad bytes="2" /> 268986c8b3dSmrg <field type="DRAWABLE" name="drawable" /> 269986c8b3dSmrg <field type="CARD32" name="ust_hi" /> 270986c8b3dSmrg <field type="CARD32" name="ust_lo" /> 271986c8b3dSmrg <field type="CARD32" name="msc_hi" /> 272986c8b3dSmrg <field type="CARD32" name="msc_lo" /> 273986c8b3dSmrg <field type="CARD32" name="sbc" /> 274986c8b3dSmrg </event> 275986c8b3dSmrg 276986c8b3dSmrg <!-- Version 1.3 --> 277986c8b3dSmrg 278986c8b3dSmrg <event name="InvalidateBuffers" number="1"> 279986c8b3dSmrg <pad bytes="1" /> 280986c8b3dSmrg <field type="DRAWABLE" name="drawable" /> 281986c8b3dSmrg </event> 282d4401354Smrg</xcb> 283