Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

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