Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4358 Serge 1
/**************************************************************************
2
 
3
Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
4
Copyright 2000 VA Linux Systems, Inc.
5
All Rights Reserved.
6
 
7
Permission is hereby granted, free of charge, to any person obtaining a
8
copy of this software and associated documentation files (the
9
"Software"), to deal in the Software without restriction, including
10
without limitation the rights to use, copy, modify, merge, publish,
11
distribute, sub license, and/or sell copies of the Software, and to
12
permit persons to whom the Software is furnished to do so, subject to
13
the following conditions:
14
 
15
The above copyright notice and this permission notice (including the
16
next paragraph) shall be included in all copies or substantial portions
17
of the Software.
18
 
19
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
20
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
22
IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
23
ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
24
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
25
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
26
 
27
**************************************************************************/
28
 
29
/*
30
 * Authors:
31
 *   Kevin E. Martin 
32
 *   Jens Owen 
33
 *   Rickard E. (Rik) Fiath 
34
 *
35
 */
36
 
37
#ifndef _XF86DRISTR_H_
38
#define _XF86DRISTR_H_
39
 
40
#include "xf86dri.h"
41
 
42
#define XF86DRINAME "XFree86-DRI"
43
 
44
/* The DRI version number.  This was originally set to be the same of the
45
 * XFree86 version number.  However, this version is really indepedent of
46
 * the XFree86 version.
47
 *
48
 * Version History:
49
 *    4.0.0: Original
50
 *    4.0.1: Patch to bump clipstamp when windows are destroyed, 28 May 02
51
 *    4.1.0: Add transition from single to multi in DRMInfo rec, 24 Jun 02
52
 */
53
#define XF86DRI_MAJOR_VERSION	4
54
#define XF86DRI_MINOR_VERSION	1
55
#define XF86DRI_PATCH_VERSION	0
56
 
57
typedef struct _XF86DRIQueryVersion
58
{
59
   CARD8 reqType;               /* always DRIReqCode */
60
   CARD8 driReqType;            /* always X_DRIQueryVersion */
61
   CARD16 length B16;
62
} xXF86DRIQueryVersionReq;
63
#define sz_xXF86DRIQueryVersionReq	4
64
 
65
typedef struct
66
{
67
   BYTE type;                   /* X_Reply */
68
   BOOL pad1;
69
   CARD16 sequenceNumber B16;
70
   CARD32 length B32;
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 */
74
   CARD32 pad3 B32;
75
   CARD32 pad4 B32;
76
   CARD32 pad5 B32;
77
   CARD32 pad6 B32;
78
} xXF86DRIQueryVersionReply;
79
#define sz_xXF86DRIQueryVersionReply	32
80
 
81
typedef struct _XF86DRIQueryDirectRenderingCapable
82
{
83
   CARD8 reqType;               /* always DRIReqCode */
84
   CARD8 driReqType;            /* X_DRIQueryDirectRenderingCapable */
85
   CARD16 length B16;
86
   CARD32 screen B32;
87
} xXF86DRIQueryDirectRenderingCapableReq;
88
#define sz_xXF86DRIQueryDirectRenderingCapableReq	8
89
 
90
typedef struct
91
{
92
   BYTE type;                   /* X_Reply */
93
   BOOL pad1;
94
   CARD16 sequenceNumber B16;
95
   CARD32 length B32;
96
   BOOL isCapable;
97
   BOOL pad2;
98
   BOOL pad3;
99
   BOOL pad4;
100
   CARD32 pad5 B32;
101
   CARD32 pad6 B32;
102
   CARD32 pad7 B32;
103
   CARD32 pad8 B32;
104
   CARD32 pad9 B32;
105
} xXF86DRIQueryDirectRenderingCapableReply;
106
#define sz_xXF86DRIQueryDirectRenderingCapableReply	32
107
 
108
typedef struct _XF86DRIOpenConnection
109
{
110
   CARD8 reqType;               /* always DRIReqCode */
111
   CARD8 driReqType;            /* always X_DRIOpenConnection */
112
   CARD16 length B16;
113
   CARD32 screen B32;
114
} xXF86DRIOpenConnectionReq;
115
#define sz_xXF86DRIOpenConnectionReq	8
116
 
117
typedef struct
118
{
119
   BYTE type;                   /* X_Reply */
120
   BOOL pad1;
121
   CARD16 sequenceNumber B16;
122
   CARD32 length B32;
123
   CARD32 hSAREALow B32;
124
   CARD32 hSAREAHigh B32;
125
   CARD32 busIdStringLength B32;
126
   CARD32 pad6 B32;
127
   CARD32 pad7 B32;
128
   CARD32 pad8 B32;
129
} xXF86DRIOpenConnectionReply;
130
#define sz_xXF86DRIOpenConnectionReply	32
131
 
132
typedef struct _XF86DRIAuthConnection
133
{
134
   CARD8 reqType;               /* always DRIReqCode */
135
   CARD8 driReqType;            /* always X_DRICloseConnection */
136
   CARD16 length B16;
137
   CARD32 screen B32;
138
   CARD32 magic B32;
139
} xXF86DRIAuthConnectionReq;
140
#define sz_xXF86DRIAuthConnectionReq	12
141
 
142
typedef struct
143
{
144
   BYTE type;
145
   BOOL pad1;
146
   CARD16 sequenceNumber B16;
147
   CARD32 length B32;
148
   CARD32 authenticated B32;
149
   CARD32 pad2 B32;
150
   CARD32 pad3 B32;
151
   CARD32 pad4 B32;
152
   CARD32 pad5 B32;
153
   CARD32 pad6 B32;
154
} xXF86DRIAuthConnectionReply;
155
#define zx_xXF86DRIAuthConnectionReply  32
156
 
157
typedef struct _XF86DRICloseConnection
158
{
159
   CARD8 reqType;               /* always DRIReqCode */
160
   CARD8 driReqType;            /* always X_DRICloseConnection */
161
   CARD16 length B16;
162
   CARD32 screen B32;
163
} xXF86DRICloseConnectionReq;
164
#define sz_xXF86DRICloseConnectionReq	8
165
 
166
typedef struct _XF86DRIGetClientDriverName
167
{
168
   CARD8 reqType;               /* always DRIReqCode */
169
   CARD8 driReqType;            /* always X_DRIGetClientDriverName */
170
   CARD16 length B16;
171
   CARD32 screen B32;
172
} xXF86DRIGetClientDriverNameReq;
173
#define sz_xXF86DRIGetClientDriverNameReq	8
174
 
175
typedef struct
176
{
177
   BYTE type;                   /* X_Reply */
178
   BOOL pad1;
179
   CARD16 sequenceNumber B16;
180
   CARD32 length B32;
181
   CARD32 ddxDriverMajorVersion B32;
182
   CARD32 ddxDriverMinorVersion B32;
183
   CARD32 ddxDriverPatchVersion B32;
184
   CARD32 clientDriverNameLength B32;
185
   CARD32 pad5 B32;
186
   CARD32 pad6 B32;
187
} xXF86DRIGetClientDriverNameReply;
188
#define sz_xXF86DRIGetClientDriverNameReply	32
189
 
190
typedef struct _XF86DRICreateContext
191
{
192
   CARD8 reqType;               /* always DRIReqCode */
193
   CARD8 driReqType;            /* always X_DRICreateContext */
194
   CARD16 length B16;
195
   CARD32 screen B32;
196
   CARD32 visual B32;
197
   CARD32 context B32;
198
} xXF86DRICreateContextReq;
199
#define sz_xXF86DRICreateContextReq	16
200
 
201
typedef struct
202
{
203
   BYTE type;                   /* X_Reply */
204
   BOOL pad1;
205
   CARD16 sequenceNumber B16;
206
   CARD32 length B32;
207
   CARD32 hHWContext B32;
208
   CARD32 pad2 B32;
209
   CARD32 pad3 B32;
210
   CARD32 pad4 B32;
211
   CARD32 pad5 B32;
212
   CARD32 pad6 B32;
213
} xXF86DRICreateContextReply;
214
#define sz_xXF86DRICreateContextReply	32
215
 
216
typedef struct _XF86DRIDestroyContext
217
{
218
   CARD8 reqType;               /* always DRIReqCode */
219
   CARD8 driReqType;            /* always X_DRIDestroyContext */
220
   CARD16 length B16;
221
   CARD32 screen B32;
222
   CARD32 context B32;
223
} xXF86DRIDestroyContextReq;
224
#define sz_xXF86DRIDestroyContextReq	12
225
 
226
typedef struct _XF86DRICreateDrawable
227
{
228
   CARD8 reqType;               /* always DRIReqCode */
229
   CARD8 driReqType;            /* always X_DRICreateDrawable */
230
   CARD16 length B16;
231
   CARD32 screen B32;
232
   CARD32 drawable B32;
233
} xXF86DRICreateDrawableReq;
234
#define sz_xXF86DRICreateDrawableReq	12
235
 
236
typedef struct
237
{
238
   BYTE type;                   /* X_Reply */
239
   BOOL pad1;
240
   CARD16 sequenceNumber B16;
241
   CARD32 length B32;
242
   CARD32 hHWDrawable B32;
243
   CARD32 pad2 B32;
244
   CARD32 pad3 B32;
245
   CARD32 pad4 B32;
246
   CARD32 pad5 B32;
247
   CARD32 pad6 B32;
248
} xXF86DRICreateDrawableReply;
249
#define sz_xXF86DRICreateDrawableReply	32
250
 
251
typedef struct _XF86DRIDestroyDrawable
252
{
253
   CARD8 reqType;               /* always DRIReqCode */
254
   CARD8 driReqType;            /* always X_DRIDestroyDrawable */
255
   CARD16 length B16;
256
   CARD32 screen B32;
257
   CARD32 drawable B32;
258
} xXF86DRIDestroyDrawableReq;
259
#define sz_xXF86DRIDestroyDrawableReq	12
260
 
261
typedef struct _XF86DRIGetDrawableInfo
262
{
263
   CARD8 reqType;               /* always DRIReqCode */
264
   CARD8 driReqType;            /* always X_DRIGetDrawableInfo */
265
   CARD16 length B16;
266
   CARD32 screen B32;
267
   CARD32 drawable B32;
268
} xXF86DRIGetDrawableInfoReq;
269
#define sz_xXF86DRIGetDrawableInfoReq	12
270
 
271
typedef struct
272
{
273
   BYTE type;                   /* X_Reply */
274
   BOOL pad1;
275
   CARD16 sequenceNumber B16;
276
   CARD32 length B32;
277
   CARD32 drawableTableIndex B32;
278
   CARD32 drawableTableStamp B32;
279
   INT16 drawableX B16;
280
   INT16 drawableY B16;
281
   INT16 drawableWidth B16;
282
   INT16 drawableHeight B16;
283
   CARD32 numClipRects B32;
284
   INT16 backX B16;
285
   INT16 backY B16;
286
   CARD32 numBackClipRects B32;
287
} xXF86DRIGetDrawableInfoReply;
288
 
289
#define sz_xXF86DRIGetDrawableInfoReply	36
290
 
291
 
292
typedef struct _XF86DRIGetDeviceInfo
293
{
294
   CARD8 reqType;               /* always DRIReqCode */
295
   CARD8 driReqType;            /* always X_DRIGetDeviceInfo */
296
   CARD16 length B16;
297
   CARD32 screen B32;
298
} xXF86DRIGetDeviceInfoReq;
299
#define sz_xXF86DRIGetDeviceInfoReq	8
300
 
301
typedef struct
302
{
303
   BYTE type;                   /* X_Reply */
304
   BOOL pad1;
305
   CARD16 sequenceNumber B16;
306
   CARD32 length B32;
307
   CARD32 hFrameBufferLow B32;
308
   CARD32 hFrameBufferHigh B32;
309
   CARD32 framebufferOrigin B32;
310
   CARD32 framebufferSize B32;
311
   CARD32 framebufferStride B32;
312
   CARD32 devPrivateSize B32;
313
} xXF86DRIGetDeviceInfoReply;
314
#define sz_xXF86DRIGetDeviceInfoReply	32
315
 
316
typedef struct _XF86DRIOpenFullScreen
317
{
318
   CARD8 reqType;               /* always DRIReqCode */
319
   CARD8 driReqType;            /* always X_DRIOpenFullScreen */
320
   CARD16 length B16;
321
   CARD32 screen B32;
322
   CARD32 drawable B32;
323
} xXF86DRIOpenFullScreenReq;
324
#define sz_xXF86DRIOpenFullScreenReq    12
325
 
326
typedef struct
327
{
328
   BYTE type;
329
   BOOL pad1;
330
   CARD16 sequenceNumber B16;
331
   CARD32 length B32;
332
   CARD32 isFullScreen B32;
333
   CARD32 pad2 B32;
334
   CARD32 pad3 B32;
335
   CARD32 pad4 B32;
336
   CARD32 pad5 B32;
337
   CARD32 pad6 B32;
338
} xXF86DRIOpenFullScreenReply;
339
#define sz_xXF86DRIOpenFullScreenReply  32
340
 
341
typedef struct _XF86DRICloseFullScreen
342
{
343
   CARD8 reqType;               /* always DRIReqCode */
344
   CARD8 driReqType;            /* always X_DRICloseFullScreen */
345
   CARD16 length B16;
346
   CARD32 screen B32;
347
   CARD32 drawable B32;
348
} xXF86DRICloseFullScreenReq;
349
#define sz_xXF86DRICloseFullScreenReq   12
350
 
351
typedef struct
352
{
353
   BYTE type;
354
   BOOL pad1;
355
   CARD16 sequenceNumber B16;
356
   CARD32 length B32;
357
   CARD32 pad2 B32;
358
   CARD32 pad3 B32;
359
   CARD32 pad4 B32;
360
   CARD32 pad5 B32;
361
   CARD32 pad6 B32;
362
   CARD32 pad7 B32;
363
} xXF86DRICloseFullScreenReply;
364
#define sz_xXF86DRICloseFullScreenReply  32
365
 
366
 
367
#endif /* _XF86DRISTR_H_ */