dri2.xml revision d4401354
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"
31d4401354Smrg  major-version="1" minor-version="1">
32d4401354Smrg  <import>xproto</import>
33d4401354Smrg
34d4401354Smrg  <enum name="Attachment">
35d4401354Smrg    <item name="BufferFrontLeft" />
36d4401354Smrg    <item name="BufferBackLeft" />
37d4401354Smrg    <item name="BufferFrontRight" />
38d4401354Smrg    <item name="BufferBackRight" />
39d4401354Smrg    <item name="BufferDepth" />
40d4401354Smrg    <item name="BufferStencil" />
41d4401354Smrg    <item name="BufferAccum" />
42d4401354Smrg    <item name="BufferFakeFrontLeft" />
43d4401354Smrg    <item name="BufferFakeFrontRight" />
44d4401354Smrg    <item name="BufferDepthStencil" />
45d4401354Smrg  </enum>
46d4401354Smrg
47d4401354Smrg  <enum name="DriverType">
48d4401354Smrg    <item name="DRI" />
49d4401354Smrg  </enum>
50d4401354Smrg
51d4401354Smrg  <!-- Types -->
52d4401354Smrg
53d4401354Smrg  <struct name="DRI2Buffer">
54d4401354Smrg    <field type="CARD32" name="attachment" enum="Attachment" />
55d4401354Smrg    <field type="CARD32" name="name" />
56d4401354Smrg    <field type="CARD32" name="pitch" />
57d4401354Smrg    <field type="CARD32" name="cpp" />
58d4401354Smrg    <field type="CARD32" name="flags" />
59d4401354Smrg  </struct>
60d4401354Smrg
61d4401354Smrg  <struct name="AttachFormat">
62d4401354Smrg    <field type="CARD32" name="attachment" enum="Attachment" />
63d4401354Smrg    <field type="CARD32" name="format" />
64d4401354Smrg  </struct>
65d4401354Smrg
66d4401354Smrg  <!-- Requests -->
67d4401354Smrg  <request name="QueryVersion" opcode="0">
68d4401354Smrg    <field type="CARD32" name="major_version" />
69d4401354Smrg    <field type="CARD32" name="minor_version" />
70d4401354Smrg    <reply>
71d4401354Smrg      <pad bytes="1" />
72d4401354Smrg      <field type="CARD32" name="major_version" />
73d4401354Smrg      <field type="CARD32" name="minor_version" />
74d4401354Smrg    </reply>
75d4401354Smrg  </request>
76d4401354Smrg
77d4401354Smrg  <request name="Connect" opcode="1">
78d4401354Smrg    <field type="WINDOW" name="window" />
79d4401354Smrg    <field type="CARD32" name="driver_type" enum="DriverType" />
80d4401354Smrg    <reply>
81d4401354Smrg      <pad bytes="1" />
82d4401354Smrg      <field type="CARD32" name="driver_name_length" />
83d4401354Smrg      <field type="CARD32" name="device_name_length" />
84d4401354Smrg      <pad bytes="16" />
85d4401354Smrg      <list type="char" name="driver_name">
86d4401354Smrg        <fieldref>driver_name_length</fieldref>
87d4401354Smrg      </list>
88d4401354Smrg      <list type="char" name="device_name">
89d4401354Smrg        <fieldref>device_name_length</fieldref>
90d4401354Smrg      </list>
91d4401354Smrg    </reply>
92d4401354Smrg  </request>
93d4401354Smrg
94d4401354Smrg  <request name="Authenticate" opcode="2">
95d4401354Smrg    <field type="WINDOW" name="window" />
96d4401354Smrg    <field type="CARD32" name="magic" />
97d4401354Smrg    <reply>
98d4401354Smrg      <pad bytes="1" />
99d4401354Smrg      <field type="CARD32" name="authenticated" />
100d4401354Smrg    </reply>
101d4401354Smrg  </request>
102d4401354Smrg
103d4401354Smrg  <request name="CreateDrawable" opcode="3">
104d4401354Smrg    <field type="DRAWABLE" name="drawable" />
105d4401354Smrg  </request>
106d4401354Smrg
107d4401354Smrg  <request name="DestroyDrawable" opcode="4">
108d4401354Smrg    <field type="DRAWABLE" name="drawable" />
109d4401354Smrg  </request>
110d4401354Smrg
111d4401354Smrg  <request name="GetBuffers" opcode="5">
112d4401354Smrg    <field type="DRAWABLE" name="drawable" />
113d4401354Smrg    <field type="CARD32" name="count" />
114d4401354Smrg    <list type="CARD32" name="attachments" />
115d4401354Smrg    <reply>
116d4401354Smrg      <pad bytes="1" />
117d4401354Smrg      <field type="CARD32" name="width" />
118d4401354Smrg      <field type="CARD32" name="height" />
119d4401354Smrg      <field type="CARD32" name="count" />
120d4401354Smrg      <pad bytes="12" />
121d4401354Smrg      <list type="DRI2Buffer" name="buffers">
122d4401354Smrg        <fieldref>count</fieldref>
123d4401354Smrg      </list>
124d4401354Smrg    </reply>
125d4401354Smrg  </request>
126d4401354Smrg
127d4401354Smrg  <request name="CopyRegion" opcode="6">
128d4401354Smrg    <field type="DRAWABLE" name="drawable" />
129d4401354Smrg    <field type="CARD32" name="region" />
130d4401354Smrg    <field type="CARD32" name="dest" />
131d4401354Smrg    <field type="CARD32" name="src" />
132d4401354Smrg    <reply>
133d4401354Smrg      <pad bytes="1" />
134d4401354Smrg    </reply>
135d4401354Smrg  </request>
136d4401354Smrg
137d4401354Smrg  <request name="GetBuffersWithFormat" opcode="7">
138d4401354Smrg    <field type="DRAWABLE" name="drawable" />
139d4401354Smrg    <field type="CARD32" name="count" />
140d4401354Smrg    <list type="AttachFormat" name="attachments" />
141d4401354Smrg    <reply>
142d4401354Smrg      <pad bytes="1" />
143d4401354Smrg      <field type="CARD32" name="width" />
144d4401354Smrg      <field type="CARD32" name="height" />
145d4401354Smrg      <field type="CARD32" name="count" />
146d4401354Smrg      <pad bytes="12" />
147d4401354Smrg      <list type="DRI2Buffer" name="buffers">
148d4401354Smrg        <fieldref>count</fieldref>
149d4401354Smrg      </list>
150d4401354Smrg    </reply>
151d4401354Smrg  </request>
152d4401354Smrg</xcb>
153