1f591e195Smrg<?xml version="1.0" encoding="utf-8"?>
2f591e195Smrg<!--
3f591e195Smrg
4f591e195SmrgCopyright © 2013 Keith Packard
5f591e195Smrg
6f591e195SmrgPermission to use, copy, modify, distribute, and sell this software and its
7f591e195Smrgdocumentation for any purpose is hereby granted without fee, provided that
8f591e195Smrgthe above copyright notice appear in all copies and that both that copyright
9f591e195Smrgnotice and this permission notice appear in supporting documentation, and
10f591e195Smrgthat the name of the copyright holders not be used in advertising or
11f591e195Smrgpublicity pertaining to distribution of the software without specific,
12f591e195Smrgwritten prior permission.  The copyright holders make no representations
13f591e195Smrgabout the suitability of this software for any purpose.  It is provided "as
14f591e195Smrgis" without express or implied warranty.
15f591e195Smrg
16f591e195SmrgTHE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
17f591e195SmrgINCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
18f591e195SmrgEVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
19f591e195SmrgCONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
20f591e195SmrgDATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
21f591e195SmrgTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
22f591e195SmrgOF THIS SOFTWARE.
23f591e195Smrg-->
24f591e195Smrg
25f591e195Smrg<xcb header="dri3" extension-xname="DRI3" extension-name="DRI3"
2618ea056eSmrg  major-version="1" minor-version="4">
27f591e195Smrg  <import>xproto</import>
28f591e195Smrg
29f591e195Smrg  <!-- Types -->
3018ea056eSmrg  <xidtype name="SYNCOBJ" />
31f591e195Smrg
32f591e195Smrg  <!-- Requests -->
33f591e195Smrg  <request name="QueryVersion" opcode="0">
34f591e195Smrg    <field type="CARD32" name="major_version" />
35f591e195Smrg    <field type="CARD32" name="minor_version" />
36f591e195Smrg    <reply>
37f591e195Smrg      <pad bytes="1" />
38f591e195Smrg      <field type="CARD32" name="major_version" />
39f591e195Smrg      <field type="CARD32" name="minor_version" />
40f591e195Smrg    </reply>
41f591e195Smrg  </request>
42f591e195Smrg
43f591e195Smrg  <request name="Open" opcode="1">
44f591e195Smrg    <field type="DRAWABLE" name="drawable" />
45f591e195Smrg    <field type="CARD32" name="provider" />
46f591e195Smrg    <reply>
47f591e195Smrg      <field type="CARD8" name="nfd"/>
48f591e195Smrg      <fd name="device_fd" />
49f591e195Smrg      <pad bytes="24" />
50f591e195Smrg    </reply>
51f591e195Smrg  </request>
52f591e195Smrg
53f591e195Smrg  <request name="PixmapFromBuffer" opcode="2">
54f591e195Smrg    <field type="PIXMAP" name="pixmap" />
55f591e195Smrg    <field type="DRAWABLE" name="drawable" />
56f591e195Smrg    <field type="CARD32" name="size" />
57f591e195Smrg    <field type="CARD16" name="width" />
58f591e195Smrg    <field type="CARD16" name="height" />
59f591e195Smrg    <field type="CARD16" name="stride" />
60f591e195Smrg    <field type="CARD8" name="depth" />
61f591e195Smrg    <field type="CARD8" name="bpp" />
62f591e195Smrg    <fd name="pixmap_fd" />
63f591e195Smrg  </request>
64f591e195Smrg
65f591e195Smrg  <request name="BufferFromPixmap" opcode="3">
66f591e195Smrg    <field type="PIXMAP" name="pixmap" />
67f591e195Smrg    <reply>
68f591e195Smrg      <field type="CARD8" name="nfd"/>
69f591e195Smrg      <field type="CARD32" name="size" />
70f591e195Smrg      <field type="CARD16" name="width" />
71f591e195Smrg      <field type="CARD16" name="height" />
72f591e195Smrg      <field type="CARD16" name="stride" />
73f591e195Smrg      <field type="CARD8" name="depth" />
74f591e195Smrg      <field type="CARD8" name="bpp" />
75f591e195Smrg      <fd name="pixmap_fd" />
76f591e195Smrg      <pad bytes="12"/>
77f591e195Smrg    </reply>
78f591e195Smrg  </request>
79f591e195Smrg
80f591e195Smrg  <request name="FenceFromFD" opcode="4">
81f591e195Smrg    <field type="DRAWABLE" name="drawable" />
82f591e195Smrg    <field type="CARD32" name="fence"/>
83f591e195Smrg    <field type="BOOL" name="initially_triggered"/>
84f591e195Smrg    <pad bytes="3"/>
85f591e195Smrg    <fd name="fence_fd"/>
86f591e195Smrg  </request>
87f591e195Smrg
88f591e195Smrg  <request name="FDFromFence" opcode="5">
89f591e195Smrg    <field type="DRAWABLE" name="drawable" />
90f591e195Smrg    <field type="CARD32" name="fence"/>
91f591e195Smrg    <reply>
92f591e195Smrg      <field type="CARD8" name="nfd"/>
93f591e195Smrg      <fd name="fence_fd" />
94f591e195Smrg      <pad bytes="24"/>
95f591e195Smrg    </reply>
96f591e195Smrg  </request>
97f591e195Smrg
98a27842ffSmrg  <!-- v1.2 -->
99a27842ffSmrg  <request name="GetSupportedModifiers" opcode="6">
100a27842ffSmrg    <field type="CARD32" name="window" />
101a27842ffSmrg    <field type="CARD8" name="depth"/>
102a27842ffSmrg    <field type="CARD8" name="bpp"/>
103a27842ffSmrg    <pad bytes="2"/>
104a27842ffSmrg    <reply>
105a27842ffSmrg      <required_start_align align="8" />
106a27842ffSmrg      <pad bytes="1" />
107a27842ffSmrg      <field type="CARD32" name="num_window_modifiers" />
108a27842ffSmrg      <field type="CARD32" name="num_screen_modifiers" />
109a27842ffSmrg      <pad bytes="16" />
110a27842ffSmrg      <list type="CARD64" name="window_modifiers">
111a27842ffSmrg        <fieldref>num_window_modifiers</fieldref>
112a27842ffSmrg      </list>
113a27842ffSmrg      <list type="CARD64" name="screen_modifiers">
114a27842ffSmrg        <fieldref>num_screen_modifiers</fieldref>
115a27842ffSmrg      </list>
116a27842ffSmrg    </reply>
117a27842ffSmrg  </request>
118a27842ffSmrg
119a27842ffSmrg  <request name="PixmapFromBuffers" opcode="7">
120a27842ffSmrg    <required_start_align align="8" />
121a27842ffSmrg    <field type="PIXMAP" name="pixmap" />
122a27842ffSmrg    <field type="WINDOW" name="window" />
123a27842ffSmrg    <field type="CARD8" name="num_buffers" />
124a27842ffSmrg    <pad bytes="3" />
125a27842ffSmrg    <field type="CARD16" name="width" />
126a27842ffSmrg    <field type="CARD16" name="height" />
127a27842ffSmrg    <field type="CARD32" name="stride0" />
128a27842ffSmrg    <field type="CARD32" name="offset0" />
129a27842ffSmrg    <field type="CARD32" name="stride1" />
130a27842ffSmrg    <field type="CARD32" name="offset1" />
131a27842ffSmrg    <field type="CARD32" name="stride2" />
132a27842ffSmrg    <field type="CARD32" name="offset2" />
133a27842ffSmrg    <field type="CARD32" name="stride3" />
134a27842ffSmrg    <field type="CARD32" name="offset3" />
135a27842ffSmrg    <field type="CARD8" name="depth" />
136a27842ffSmrg    <field type="CARD8" name="bpp" />
137a27842ffSmrg    <pad bytes="2" />
138a27842ffSmrg    <field type="CARD64" name="modifier" />
139a27842ffSmrg    <list type="fd" name="buffers">
140a27842ffSmrg      <fieldref>num_buffers</fieldref>
141a27842ffSmrg    </list>
142a27842ffSmrg  </request>
143a27842ffSmrg
144a27842ffSmrg  <request name="BuffersFromPixmap" opcode="8">
145a27842ffSmrg    <field type="PIXMAP" name="pixmap" />
146a27842ffSmrg    <reply>
147a27842ffSmrg      <required_start_align align="8" />
148a27842ffSmrg      <field type="CARD8" name="nfd"/>
149a27842ffSmrg      <field type="CARD16" name="width" />
150a27842ffSmrg      <field type="CARD16" name="height" />
151a27842ffSmrg      <pad bytes="4"/>
152a27842ffSmrg      <field type="CARD64" name="modifier" />
153a27842ffSmrg      <field type="CARD8" name="depth" />
154a27842ffSmrg      <field type="CARD8" name="bpp" />
155a27842ffSmrg      <pad bytes="6"/>
156a27842ffSmrg      <list type="CARD32" name="strides">
157a27842ffSmrg        <fieldref>nfd</fieldref>
158a27842ffSmrg      </list>
159a27842ffSmrg      <list type="CARD32" name="offsets">
160a27842ffSmrg        <fieldref>nfd</fieldref>
161a27842ffSmrg      </list>
162a27842ffSmrg      <list type="fd" name="buffers">
163a27842ffSmrg        <fieldref>nfd</fieldref>
164a27842ffSmrg      </list>
165a27842ffSmrg    </reply>
166a27842ffSmrg  </request>
167d5c9b07bSmrg
168d5c9b07bSmrg  <!-- v1.3 -->
169d5c9b07bSmrg  <request name="SetDRMDeviceInUse" opcode="9">
170d5c9b07bSmrg    <field type="WINDOW" name="window" />
171d5c9b07bSmrg    <field type="CARD32" name="drmMajor" />
172d5c9b07bSmrg    <field type="CARD32" name="drmMinor" />
173d5c9b07bSmrg  </request>
17418ea056eSmrg
17518ea056eSmrg  <!-- v1.4 -->
17618ea056eSmrg  <request name="ImportSyncobj" opcode="10">
17718ea056eSmrg    <field type="SYNCOBJ" name="syncobj" />
17818ea056eSmrg    <field type="DRAWABLE" name="drawable" />
17918ea056eSmrg    <fd name="syncobj_fd" />
18018ea056eSmrg  </request>
18118ea056eSmrg
18218ea056eSmrg  <request name="FreeSyncobj" opcode="11">
18318ea056eSmrg    <field type="SYNCOBJ" name="syncobj" />
18418ea056eSmrg  </request>
185f591e195Smrg</xcb>
186