xref: /aosp_15_r20/external/libva/va/x11/va_dri2str.h (revision 54e60f844a168e9a219354de272cd517ee8cd4b7)
1*54e60f84SAndroid Build Coastguard Worker /*
2*54e60f84SAndroid Build Coastguard Worker  * Copyright © 2008 Red Hat, Inc.
3*54e60f84SAndroid Build Coastguard Worker  *
4*54e60f84SAndroid Build Coastguard Worker  * Permission is hereby granted, free of charge, to any person obtaining a
5*54e60f84SAndroid Build Coastguard Worker  * copy of this software and associated documentation files (the "Soft-
6*54e60f84SAndroid Build Coastguard Worker  * ware"), to deal in the Software without restriction, including without
7*54e60f84SAndroid Build Coastguard Worker  * limitation the rights to use, copy, modify, merge, publish, distribute,
8*54e60f84SAndroid Build Coastguard Worker  * and/or sell copies of the Software, and to permit persons to whom the
9*54e60f84SAndroid Build Coastguard Worker  * Software is furnished to do so, provided that the above copyright
10*54e60f84SAndroid Build Coastguard Worker  * notice(s) and this permission notice appear in all copies of the Soft-
11*54e60f84SAndroid Build Coastguard Worker  * ware and that both the above copyright notice(s) and this permission
12*54e60f84SAndroid Build Coastguard Worker  * notice appear in supporting documentation.
13*54e60f84SAndroid Build Coastguard Worker  *
14*54e60f84SAndroid Build Coastguard Worker  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15*54e60f84SAndroid Build Coastguard Worker  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
16*54e60f84SAndroid Build Coastguard Worker  * ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY
17*54e60f84SAndroid Build Coastguard Worker  * RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN
18*54e60f84SAndroid Build Coastguard Worker  * THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSE-
19*54e60f84SAndroid Build Coastguard Worker  * QUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
20*54e60f84SAndroid Build Coastguard Worker  * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
21*54e60f84SAndroid Build Coastguard Worker  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFOR-
22*54e60f84SAndroid Build Coastguard Worker  * MANCE OF THIS SOFTWARE.
23*54e60f84SAndroid Build Coastguard Worker  *
24*54e60f84SAndroid Build Coastguard Worker  * Except as contained in this notice, the name of a copyright holder shall
25*54e60f84SAndroid Build Coastguard Worker  * not be used in advertising or otherwise to promote the sale, use or
26*54e60f84SAndroid Build Coastguard Worker  * other dealings in this Software without prior written authorization of
27*54e60f84SAndroid Build Coastguard Worker  * the copyright holder.
28*54e60f84SAndroid Build Coastguard Worker  *
29*54e60f84SAndroid Build Coastguard Worker  * Authors:
30*54e60f84SAndroid Build Coastguard Worker  *   Kristian Høgsberg ([email protected])
31*54e60f84SAndroid Build Coastguard Worker  */
32*54e60f84SAndroid Build Coastguard Worker 
33*54e60f84SAndroid Build Coastguard Worker #ifndef _DRI2_PROTO_H_
34*54e60f84SAndroid Build Coastguard Worker #define _DRI2_PROTO_H_
35*54e60f84SAndroid Build Coastguard Worker 
36*54e60f84SAndroid Build Coastguard Worker #define DRI2_NAME           "DRI2"
37*54e60f84SAndroid Build Coastguard Worker #define DRI2_MAJOR          1
38*54e60f84SAndroid Build Coastguard Worker #define DRI2_MINOR          2
39*54e60f84SAndroid Build Coastguard Worker 
40*54e60f84SAndroid Build Coastguard Worker #define DRI2NumberErrors        0
41*54e60f84SAndroid Build Coastguard Worker #define DRI2NumberEvents        2
42*54e60f84SAndroid Build Coastguard Worker #define DRI2NumberRequests      13
43*54e60f84SAndroid Build Coastguard Worker 
44*54e60f84SAndroid Build Coastguard Worker #define X_DRI2QueryVersion      0
45*54e60f84SAndroid Build Coastguard Worker #define X_DRI2Connect           1
46*54e60f84SAndroid Build Coastguard Worker #define X_DRI2Authenticate      2
47*54e60f84SAndroid Build Coastguard Worker #define X_DRI2CreateDrawable        3
48*54e60f84SAndroid Build Coastguard Worker #define X_DRI2DestroyDrawable       4
49*54e60f84SAndroid Build Coastguard Worker #define X_DRI2GetBuffers        5
50*54e60f84SAndroid Build Coastguard Worker #define X_DRI2CopyRegion        6
51*54e60f84SAndroid Build Coastguard Worker #define X_DRI2GetBuffersWithFormat  7
52*54e60f84SAndroid Build Coastguard Worker #define X_DRI2SwapBuffers       8
53*54e60f84SAndroid Build Coastguard Worker #define X_DRI2GetMSC            9
54*54e60f84SAndroid Build Coastguard Worker #define X_DRI2WaitMSC           10
55*54e60f84SAndroid Build Coastguard Worker #define X_DRI2WaitSBC           11
56*54e60f84SAndroid Build Coastguard Worker #define X_DRI2SwapInterval      12
57*54e60f84SAndroid Build Coastguard Worker 
58*54e60f84SAndroid Build Coastguard Worker typedef struct {
59*54e60f84SAndroid Build Coastguard Worker     CARD32  attachment B32;
60*54e60f84SAndroid Build Coastguard Worker     CARD32  name B32;
61*54e60f84SAndroid Build Coastguard Worker     CARD32  pitch B32;
62*54e60f84SAndroid Build Coastguard Worker     CARD32  cpp B32;
63*54e60f84SAndroid Build Coastguard Worker     CARD32  flags B32;
64*54e60f84SAndroid Build Coastguard Worker } xDRI2Buffer;
65*54e60f84SAndroid Build Coastguard Worker 
66*54e60f84SAndroid Build Coastguard Worker typedef struct {
67*54e60f84SAndroid Build Coastguard Worker     CARD8   reqType;
68*54e60f84SAndroid Build Coastguard Worker     CARD8   dri2ReqType;
69*54e60f84SAndroid Build Coastguard Worker     CARD16  length B16;
70*54e60f84SAndroid Build Coastguard Worker     CARD32  majorVersion B32;
71*54e60f84SAndroid Build Coastguard Worker     CARD32  minorVersion B32;
72*54e60f84SAndroid Build Coastguard Worker } xDRI2QueryVersionReq;
73*54e60f84SAndroid Build Coastguard Worker #define sz_xDRI2QueryVersionReq   12
74*54e60f84SAndroid Build Coastguard Worker 
75*54e60f84SAndroid Build Coastguard Worker typedef struct {
76*54e60f84SAndroid Build Coastguard Worker     BYTE    type;   /* X_Reply */
77*54e60f84SAndroid Build Coastguard Worker     BYTE    pad1;
78*54e60f84SAndroid Build Coastguard Worker     CARD16  sequenceNumber B16;
79*54e60f84SAndroid Build Coastguard Worker     CARD32  length B32;
80*54e60f84SAndroid Build Coastguard Worker     CARD32  majorVersion B32;
81*54e60f84SAndroid Build Coastguard Worker     CARD32  minorVersion B32;
82*54e60f84SAndroid Build Coastguard Worker     CARD32  pad2 B32;
83*54e60f84SAndroid Build Coastguard Worker     CARD32  pad3 B32;
84*54e60f84SAndroid Build Coastguard Worker     CARD32  pad4 B32;
85*54e60f84SAndroid Build Coastguard Worker     CARD32  pad5 B32;
86*54e60f84SAndroid Build Coastguard Worker } xDRI2QueryVersionReply;
87*54e60f84SAndroid Build Coastguard Worker #define sz_xDRI2QueryVersionReply   32
88*54e60f84SAndroid Build Coastguard Worker 
89*54e60f84SAndroid Build Coastguard Worker typedef struct {
90*54e60f84SAndroid Build Coastguard Worker     CARD8   reqType;
91*54e60f84SAndroid Build Coastguard Worker     CARD8   dri2ReqType;
92*54e60f84SAndroid Build Coastguard Worker     CARD16  length B16;
93*54e60f84SAndroid Build Coastguard Worker     CARD32  window B32;
94*54e60f84SAndroid Build Coastguard Worker     CARD32  driverType B32;
95*54e60f84SAndroid Build Coastguard Worker } xDRI2ConnectReq;
96*54e60f84SAndroid Build Coastguard Worker #define sz_xDRI2ConnectReq  12
97*54e60f84SAndroid Build Coastguard Worker 
98*54e60f84SAndroid Build Coastguard Worker typedef struct {
99*54e60f84SAndroid Build Coastguard Worker     BYTE    type;   /* X_Reply */
100*54e60f84SAndroid Build Coastguard Worker     BYTE    pad1;
101*54e60f84SAndroid Build Coastguard Worker     CARD16  sequenceNumber B16;
102*54e60f84SAndroid Build Coastguard Worker     CARD32  length B32;
103*54e60f84SAndroid Build Coastguard Worker     CARD32  driverNameLength B32;
104*54e60f84SAndroid Build Coastguard Worker     CARD32  deviceNameLength B32;
105*54e60f84SAndroid Build Coastguard Worker     CARD32  pad2 B32;
106*54e60f84SAndroid Build Coastguard Worker     CARD32  pad3 B32;
107*54e60f84SAndroid Build Coastguard Worker     CARD32  pad4 B32;
108*54e60f84SAndroid Build Coastguard Worker     CARD32  pad5 B32;
109*54e60f84SAndroid Build Coastguard Worker } xDRI2ConnectReply;
110*54e60f84SAndroid Build Coastguard Worker #define sz_xDRI2ConnectReply    32
111*54e60f84SAndroid Build Coastguard Worker 
112*54e60f84SAndroid Build Coastguard Worker typedef struct {
113*54e60f84SAndroid Build Coastguard Worker     CARD8   reqType;
114*54e60f84SAndroid Build Coastguard Worker     CARD8   dri2ReqType;
115*54e60f84SAndroid Build Coastguard Worker     CARD16  length B16;
116*54e60f84SAndroid Build Coastguard Worker     CARD32  window B32;
117*54e60f84SAndroid Build Coastguard Worker     CARD32  magic B32;
118*54e60f84SAndroid Build Coastguard Worker } xDRI2AuthenticateReq;
119*54e60f84SAndroid Build Coastguard Worker #define sz_xDRI2AuthenticateReq   12
120*54e60f84SAndroid Build Coastguard Worker 
121*54e60f84SAndroid Build Coastguard Worker typedef struct {
122*54e60f84SAndroid Build Coastguard Worker     BYTE    type;   /* X_Reply */
123*54e60f84SAndroid Build Coastguard Worker     BYTE    pad1;
124*54e60f84SAndroid Build Coastguard Worker     CARD16  sequenceNumber B16;
125*54e60f84SAndroid Build Coastguard Worker     CARD32  length B32;
126*54e60f84SAndroid Build Coastguard Worker     CARD32  authenticated B32;
127*54e60f84SAndroid Build Coastguard Worker     CARD32  pad2 B32;
128*54e60f84SAndroid Build Coastguard Worker     CARD32  pad3 B32;
129*54e60f84SAndroid Build Coastguard Worker     CARD32  pad4 B32;
130*54e60f84SAndroid Build Coastguard Worker     CARD32  pad5 B32;
131*54e60f84SAndroid Build Coastguard Worker     CARD32  pad6 B32;
132*54e60f84SAndroid Build Coastguard Worker } xDRI2AuthenticateReply;
133*54e60f84SAndroid Build Coastguard Worker #define sz_xDRI2AuthenticateReply   32
134*54e60f84SAndroid Build Coastguard Worker 
135*54e60f84SAndroid Build Coastguard Worker typedef struct {
136*54e60f84SAndroid Build Coastguard Worker     CARD8   reqType;
137*54e60f84SAndroid Build Coastguard Worker     CARD8   dri2ReqType;
138*54e60f84SAndroid Build Coastguard Worker     CARD16  length B16;
139*54e60f84SAndroid Build Coastguard Worker     CARD32  drawable B32;
140*54e60f84SAndroid Build Coastguard Worker } xDRI2CreateDrawableReq;
141*54e60f84SAndroid Build Coastguard Worker #define sz_xDRI2CreateDrawableReq   8
142*54e60f84SAndroid Build Coastguard Worker 
143*54e60f84SAndroid Build Coastguard Worker typedef struct {
144*54e60f84SAndroid Build Coastguard Worker     CARD8   reqType;
145*54e60f84SAndroid Build Coastguard Worker     CARD8   dri2ReqType;
146*54e60f84SAndroid Build Coastguard Worker     CARD16  length B16;
147*54e60f84SAndroid Build Coastguard Worker     CARD32  drawable B32;
148*54e60f84SAndroid Build Coastguard Worker } xDRI2DestroyDrawableReq;
149*54e60f84SAndroid Build Coastguard Worker #define sz_xDRI2DestroyDrawableReq   8
150*54e60f84SAndroid Build Coastguard Worker 
151*54e60f84SAndroid Build Coastguard Worker typedef struct {
152*54e60f84SAndroid Build Coastguard Worker     CARD8   reqType;
153*54e60f84SAndroid Build Coastguard Worker     CARD8   dri2ReqType;
154*54e60f84SAndroid Build Coastguard Worker     CARD16  length B16;
155*54e60f84SAndroid Build Coastguard Worker     CARD32  drawable B32;
156*54e60f84SAndroid Build Coastguard Worker     CARD32  count B32;
157*54e60f84SAndroid Build Coastguard Worker } xDRI2GetBuffersReq;
158*54e60f84SAndroid Build Coastguard Worker #define sz_xDRI2GetBuffersReq   12
159*54e60f84SAndroid Build Coastguard Worker 
160*54e60f84SAndroid Build Coastguard Worker typedef struct {
161*54e60f84SAndroid Build Coastguard Worker     BYTE    type;   /* X_Reply */
162*54e60f84SAndroid Build Coastguard Worker     BYTE    pad1;
163*54e60f84SAndroid Build Coastguard Worker     CARD16  sequenceNumber B16;
164*54e60f84SAndroid Build Coastguard Worker     CARD32  length B32;
165*54e60f84SAndroid Build Coastguard Worker     CARD32  width B32;
166*54e60f84SAndroid Build Coastguard Worker     CARD32  height B32;
167*54e60f84SAndroid Build Coastguard Worker     CARD32  count B32;
168*54e60f84SAndroid Build Coastguard Worker     CARD32  pad2 B32;
169*54e60f84SAndroid Build Coastguard Worker     CARD32  pad3 B32;
170*54e60f84SAndroid Build Coastguard Worker     CARD32  pad4 B32;
171*54e60f84SAndroid Build Coastguard Worker } xDRI2GetBuffersReply;
172*54e60f84SAndroid Build Coastguard Worker #define sz_xDRI2GetBuffersReply 32
173*54e60f84SAndroid Build Coastguard Worker 
174*54e60f84SAndroid Build Coastguard Worker typedef struct {
175*54e60f84SAndroid Build Coastguard Worker     CARD8   reqType;
176*54e60f84SAndroid Build Coastguard Worker     CARD8   dri2ReqType;
177*54e60f84SAndroid Build Coastguard Worker     CARD16  length B16;
178*54e60f84SAndroid Build Coastguard Worker     CARD32  drawable B32;
179*54e60f84SAndroid Build Coastguard Worker     CARD32  region B32;
180*54e60f84SAndroid Build Coastguard Worker     CARD32  dest B32;
181*54e60f84SAndroid Build Coastguard Worker     CARD32  src B32;
182*54e60f84SAndroid Build Coastguard Worker } xDRI2CopyRegionReq;
183*54e60f84SAndroid Build Coastguard Worker #define sz_xDRI2CopyRegionReq   20
184*54e60f84SAndroid Build Coastguard Worker 
185*54e60f84SAndroid Build Coastguard Worker typedef struct {
186*54e60f84SAndroid Build Coastguard Worker     BYTE    type;   /* X_Reply */
187*54e60f84SAndroid Build Coastguard Worker     BYTE    pad1;
188*54e60f84SAndroid Build Coastguard Worker     CARD16  sequenceNumber B16;
189*54e60f84SAndroid Build Coastguard Worker     CARD32  length B32;
190*54e60f84SAndroid Build Coastguard Worker     CARD32  pad2 B32;
191*54e60f84SAndroid Build Coastguard Worker     CARD32  pad3 B32;
192*54e60f84SAndroid Build Coastguard Worker     CARD32  pad4 B32;
193*54e60f84SAndroid Build Coastguard Worker     CARD32  pad5 B32;
194*54e60f84SAndroid Build Coastguard Worker     CARD32  pad6 B32;
195*54e60f84SAndroid Build Coastguard Worker     CARD32  pad7 B32;
196*54e60f84SAndroid Build Coastguard Worker } xDRI2CopyRegionReply;
197*54e60f84SAndroid Build Coastguard Worker #define sz_xDRI2CopyRegionReply 32
198*54e60f84SAndroid Build Coastguard Worker 
199*54e60f84SAndroid Build Coastguard Worker typedef struct {
200*54e60f84SAndroid Build Coastguard Worker     CARD8   reqType;
201*54e60f84SAndroid Build Coastguard Worker     CARD8   dri2ReqType;
202*54e60f84SAndroid Build Coastguard Worker     CARD16  length B16;
203*54e60f84SAndroid Build Coastguard Worker     CARD32  drawable B32;
204*54e60f84SAndroid Build Coastguard Worker     CARD32  target_msc_hi B32;
205*54e60f84SAndroid Build Coastguard Worker     CARD32  target_msc_lo B32;
206*54e60f84SAndroid Build Coastguard Worker     CARD32  divisor_hi B32;
207*54e60f84SAndroid Build Coastguard Worker     CARD32  divisor_lo B32;
208*54e60f84SAndroid Build Coastguard Worker     CARD32  remainder_hi B32;
209*54e60f84SAndroid Build Coastguard Worker     CARD32  remainder_lo B32;
210*54e60f84SAndroid Build Coastguard Worker } xDRI2SwapBuffersReq;
211*54e60f84SAndroid Build Coastguard Worker #define sz_xDRI2SwapBuffersReq  32
212*54e60f84SAndroid Build Coastguard Worker 
213*54e60f84SAndroid Build Coastguard Worker typedef struct {
214*54e60f84SAndroid Build Coastguard Worker     BYTE    type;   /* X_Reply */
215*54e60f84SAndroid Build Coastguard Worker     BYTE    pad1;
216*54e60f84SAndroid Build Coastguard Worker     CARD16  sequenceNumber B16;
217*54e60f84SAndroid Build Coastguard Worker     CARD32  length B32;
218*54e60f84SAndroid Build Coastguard Worker     CARD32  swap_hi B32;
219*54e60f84SAndroid Build Coastguard Worker     CARD32  swap_lo B32;
220*54e60f84SAndroid Build Coastguard Worker     CARD32  pad2 B32;
221*54e60f84SAndroid Build Coastguard Worker     CARD32  pad3 B32;
222*54e60f84SAndroid Build Coastguard Worker     CARD32  pad4 B32;
223*54e60f84SAndroid Build Coastguard Worker     CARD32  pad5 B32;
224*54e60f84SAndroid Build Coastguard Worker } xDRI2SwapBuffersReply;
225*54e60f84SAndroid Build Coastguard Worker #define sz_xDRI2SwapBuffersReply 32
226*54e60f84SAndroid Build Coastguard Worker 
227*54e60f84SAndroid Build Coastguard Worker #endif
228