1
/* $XFree86: xc/lib/GL/dri/xf86dristr.h,v 1.10 2002/10/30 12:51:25 alanh Exp $ */
2
/**************************************************************************
4
Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
5
Copyright 2000 VA Linux Systems, Inc.
6
Copyright 2007 Intel Corporation
9
Permission is hereby granted, free of charge, to any person obtaining a
10
copy of this software and associated documentation files (the
11
"Software"), to deal in the Software without restriction, including
12
without limitation the rights to use, copy, modify, merge, publish,
13
distribute, sub license, and/or sell copies of the Software, and to
14
permit persons to whom the Software is furnished to do so, subject to
15
the following conditions:
17
The above copyright notice and this permission notice (including the
18
next paragraph) shall be included in all copies or substantial portions
21
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
22
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
24
IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
25
ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
26
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
27
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
29
**************************************************************************/
33
* Kevin E. Martin <martin@valinux.com>
34
* Jens Owen <jens@tungstengraphics.com>
35
* Rickard E. (Rik) Fiath <faith@valinux.com>
44
#define VA_DRINAME "XFree86-DRI"
46
/* The DRI version number. This was originally set to be the same of the
47
* XFree86 version number. However, this version is really indepedent of
48
* the XFree86 version.
52
* 4.0.1: Patch to bump clipstamp when windows are destroyed, 28 May 02
53
* 4.1.0: Add transition from single to multi in DRMInfo rec, 24 Jun 02
55
#define VA_DRI_MAJOR_VERSION 4
56
#define VA_DRI_MINOR_VERSION 1
57
#define VA_DRI_PATCH_VERSION 0
59
typedef struct _VA_DRIQueryVersion {
60
CARD8 reqType; /* always DRIReqCode */
61
CARD8 driReqType; /* always X_DRIQueryVersion */
63
} xVA_DRIQueryVersionReq;
64
#define sz_xVA_DRIQueryVersionReq 4
67
BYTE type; /* X_Reply */
69
CARD16 sequenceNumber B16;
71
CARD16 majorVersion B16; /* major version of DRI protocol */
72
CARD16 minorVersion B16; /* minor version of DRI protocol */
73
CARD32 patchVersion B32; /* patch version of DRI protocol */
78
} xVA_DRIQueryVersionReply;
79
#define sz_xVA_DRIQueryVersionReply 32
81
typedef struct _VA_DRIQueryDirectRenderingCapable {
82
CARD8 reqType; /* always DRIReqCode */
83
CARD8 driReqType; /* X_DRIQueryDirectRenderingCapable */
86
} xVA_DRIQueryDirectRenderingCapableReq;
87
#define sz_xVA_DRIQueryDirectRenderingCapableReq 8
90
BYTE type; /* X_Reply */
92
CARD16 sequenceNumber B16;
103
} xVA_DRIQueryDirectRenderingCapableReply;
104
#define sz_xVA_DRIQueryDirectRenderingCapableReply 32
106
typedef struct _VA_DRIOpenConnection {
107
CARD8 reqType; /* always DRIReqCode */
108
CARD8 driReqType; /* always X_DRIOpenConnection */
111
} xVA_DRIOpenConnectionReq;
112
#define sz_xVA_DRIOpenConnectionReq 8
115
BYTE type; /* X_Reply */
117
CARD16 sequenceNumber B16;
119
CARD32 hSAREALow B32;
120
CARD32 hSAREAHigh B32;
121
CARD32 busIdStringLength B32;
125
} xVA_DRIOpenConnectionReply;
126
#define sz_xVA_DRIOpenConnectionReply 32
128
typedef struct _VA_DRIAuthConnection {
129
CARD8 reqType; /* always DRIReqCode */
130
CARD8 driReqType; /* always X_DRICloseConnection */
134
} xVA_DRIAuthConnectionReq;
135
#define sz_xVA_DRIAuthConnectionReq 12
140
CARD16 sequenceNumber B16;
142
CARD32 authenticated B32;
148
} xVA_DRIAuthConnectionReply;
149
#define zx_xVA_DRIAuthConnectionReply 32
151
typedef struct _VA_DRICloseConnection {
152
CARD8 reqType; /* always DRIReqCode */
153
CARD8 driReqType; /* always X_DRICloseConnection */
156
} xVA_DRICloseConnectionReq;
157
#define sz_xVA_DRICloseConnectionReq 8
159
typedef struct _VA_DRIGetClientDriverName {
160
CARD8 reqType; /* always DRIReqCode */
161
CARD8 driReqType; /* always X_DRIGetClientDriverName */
164
} xVA_DRIGetClientDriverNameReq;
165
#define sz_xVA_DRIGetClientDriverNameReq 8
168
BYTE type; /* X_Reply */
170
CARD16 sequenceNumber B16;
172
CARD32 ddxDriverMajorVersion B32;
173
CARD32 ddxDriverMinorVersion B32;
174
CARD32 ddxDriverPatchVersion B32;
175
CARD32 clientDriverNameLength B32;
178
} xVA_DRIGetClientDriverNameReply;
179
#define sz_xVA_DRIGetClientDriverNameReply 32
181
typedef struct _VA_DRICreateContext {
182
CARD8 reqType; /* always DRIReqCode */
183
CARD8 driReqType; /* always X_DRICreateContext */
188
} xVA_DRICreateContextReq;
189
#define sz_xVA_DRICreateContextReq 16
192
BYTE type; /* X_Reply */
194
CARD16 sequenceNumber B16;
196
CARD32 hHWContext B32;
202
} xVA_DRICreateContextReply;
203
#define sz_xVA_DRICreateContextReply 32
205
typedef struct _VA_DRIDestroyContext {
206
CARD8 reqType; /* always DRIReqCode */
207
CARD8 driReqType; /* always X_DRIDestroyContext */
211
} xVA_DRIDestroyContextReq;
212
#define sz_xVA_DRIDestroyContextReq 12
214
typedef struct _VA_DRICreateDrawable {
215
CARD8 reqType; /* always DRIReqCode */
216
CARD8 driReqType; /* always X_DRICreateDrawable */
220
} xVA_DRICreateDrawableReq;
221
#define sz_xVA_DRICreateDrawableReq 12
224
BYTE type; /* X_Reply */
226
CARD16 sequenceNumber B16;
228
CARD32 hHWDrawable B32;
234
} xVA_DRICreateDrawableReply;
235
#define sz_xVA_DRICreateDrawableReply 32
237
typedef struct _VA_DRIDestroyDrawable {
238
CARD8 reqType; /* always DRIReqCode */
239
CARD8 driReqType; /* always X_DRIDestroyDrawable */
243
} xVA_DRIDestroyDrawableReq;
244
#define sz_xVA_DRIDestroyDrawableReq 12
246
typedef struct _VA_DRIGetDrawableInfo {
247
CARD8 reqType; /* always DRIReqCode */
248
CARD8 driReqType; /* always X_DRIGetDrawableInfo */
252
} xVA_DRIGetDrawableInfoReq;
253
#define sz_xVA_DRIGetDrawableInfoReq 12
256
BYTE type; /* X_Reply */
258
CARD16 sequenceNumber B16;
260
CARD32 drawableTableIndex B32;
261
CARD32 drawableTableStamp B32;
264
INT16 drawableWidth B16;
265
INT16 drawableHeight B16;
266
CARD32 numClipRects B32;
269
CARD32 numBackClipRects B32;
270
} xVA_DRIGetDrawableInfoReply;
272
#define sz_xVA_DRIGetDrawableInfoReply 36
275
typedef struct _VA_DRIGetDeviceInfo {
276
CARD8 reqType; /* always DRIReqCode */
277
CARD8 driReqType; /* always X_DRIGetDeviceInfo */
280
} xVA_DRIGetDeviceInfoReq;
281
#define sz_xVA_DRIGetDeviceInfoReq 8
284
BYTE type; /* X_Reply */
286
CARD16 sequenceNumber B16;
288
CARD32 hFrameBufferLow B32;
289
CARD32 hFrameBufferHigh B32;
290
CARD32 framebufferOrigin B32;
291
CARD32 framebufferSize B32;
292
CARD32 framebufferStride B32;
293
CARD32 devPrivateSize B32;
294
} xVA_DRIGetDeviceInfoReply;
295
#define sz_xVA_DRIGetDeviceInfoReply 32
297
typedef struct _VA_DRIOpenFullScreen {
298
CARD8 reqType; /* always DRIReqCode */
299
CARD8 driReqType; /* always X_DRIOpenFullScreen */
303
} xVA_DRIOpenFullScreenReq;
304
#define sz_xVA_DRIOpenFullScreenReq 12
309
CARD16 sequenceNumber B16;
311
CARD32 isFullScreen B32;
317
} xVA_DRIOpenFullScreenReply;
318
#define sz_xVA_DRIOpenFullScreenReply 32
320
typedef struct _VA_DRICloseFullScreen {
321
CARD8 reqType; /* always DRIReqCode */
322
CARD8 driReqType; /* always X_DRICloseFullScreen */
326
} xVA_DRICloseFullScreenReq;
327
#define sz_xVA_DRICloseFullScreenReq 12
332
CARD16 sequenceNumber B16;
340
} xVA_DRICloseFullScreenReply;
341
#define sz_xVA_DRICloseFullScreenReply 32
344
#endif /* _VA_DRISTR_H_ */