add some NEON 32bpp blitters
[sdl_omap.git] / src / video / Xext / extensions / xf86vmstr.h
1 /* $XFree86: xc/include/extensions/xf86vmstr.h,v 3.27 2001/08/01 00:44:36 tsi Exp $ */
2 /*
3
4 Copyright 1995  Kaleb S. KEITHLEY
5
6 Permission is hereby granted, free of charge, to any person obtaining
7 a copy of this software and associated documentation files (the
8 "Software"), to deal in the Software without restriction, including
9 without limitation the rights to use, copy, modify, merge, publish,
10 distribute, sublicense, and/or sell copies of the Software, and to
11 permit persons to whom the Software is furnished to do so, subject to
12 the following conditions:
13
14 The above copyright notice and this permission notice shall be
15 included in all copies or substantial portions of the Software.
16
17 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
20 IN NO EVENT SHALL Kaleb S. KEITHLEY BE LIABLE FOR ANY CLAIM, DAMAGES 
21 OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
22 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
23 OTHER DEALINGS IN THE SOFTWARE.
24
25 Except as contained in this notice, the name of Kaleb S. KEITHLEY 
26 shall not be used in advertising or otherwise to promote the sale, use 
27 or other dealings in this Software without prior written authorization
28 from Kaleb S. KEITHLEY
29
30 */
31 /* $Xorg: xf86vmstr.h,v 1.3 2000/08/18 04:05:46 coskrey Exp $ */
32
33 /* THIS IS NOT AN X CONSORTIUM STANDARD OR AN X PROJECT TEAM SPECIFICATION */
34
35 #ifndef _XF86VIDMODESTR_H_
36 #define _XF86VIDMODESTR_H_
37
38 #include "xf86vmode.h"
39
40 #define XF86VIDMODENAME "XFree86-VidModeExtension"
41
42 #define XF86VIDMODE_MAJOR_VERSION       2       /* current version numbers */
43 #define XF86VIDMODE_MINOR_VERSION       1
44 /*
45  * major version 0 == uses parameter-to-wire functions in XFree86 libXxf86vm.
46  * major version 1 == uses parameter-to-wire functions hard-coded in xvidtune
47  *                    client.
48  * major version 2 == uses new protocol version in XFree86 4.0.
49  */
50
51 typedef struct _XF86VidModeQueryVersion {
52     CARD8       reqType;                /* always XF86VidModeReqCode */
53     CARD8       xf86vidmodeReqType;     /* always X_XF86VidModeQueryVersion */
54     CARD16      length B16;
55 } xXF86VidModeQueryVersionReq;
56 #define sz_xXF86VidModeQueryVersionReq  4
57
58 typedef struct {
59     BYTE        type;                   /* X_Reply */
60     BOOL        pad1;
61     CARD16      sequenceNumber B16;
62     CARD32      length B32;
63     CARD16      majorVersion B16;       /* major version of XF86VidMode */
64     CARD16      minorVersion B16;       /* minor version of XF86VidMode */
65     CARD32      pad2 B32;
66     CARD32      pad3 B32;
67     CARD32      pad4 B32;
68     CARD32      pad5 B32;
69     CARD32      pad6 B32;
70 } xXF86VidModeQueryVersionReply;
71 #define sz_xXF86VidModeQueryVersionReply        32
72
73 typedef struct _XF86VidModeGetModeLine {
74     CARD8       reqType;                /* always XF86VidModeReqCode */
75     CARD8       xf86vidmodeReqType;
76     CARD16      length B16;
77     CARD16      screen B16;
78     CARD16      pad B16;
79 } xXF86VidModeGetModeLineReq,
80   xXF86VidModeGetAllModeLinesReq,
81   xXF86VidModeGetMonitorReq,
82   xXF86VidModeGetViewPortReq,
83   xXF86VidModeGetDotClocksReq;
84 #define sz_xXF86VidModeGetModeLineReq           8
85 #define sz_xXF86VidModeGetAllModeLinesReq       8
86 #define sz_xXF86VidModeGetMonitorReq            8
87 #define sz_xXF86VidModeGetViewPortReq           8
88 #define sz_xXF86VidModeGetDotClocksReq          8
89
90 typedef struct {
91     BYTE        type;                   /* X_Reply */
92     BOOL        pad1;
93     CARD16      sequenceNumber B16;
94     CARD32      length B32;
95     CARD32      dotclock B32;
96     CARD16      hdisplay B16;
97     CARD16      hsyncstart B16;
98     CARD16      hsyncend B16;
99     CARD16      htotal B16;
100     CARD16      hskew B16;
101     CARD16      vdisplay B16;
102     CARD16      vsyncstart B16;
103     CARD16      vsyncend B16;
104     CARD16      vtotal B16;
105     CARD16      pad2 B16;
106     CARD32      flags B32;
107     CARD32      reserved1 B32;
108     CARD32      reserved2 B32;
109     CARD32      reserved3 B32;
110     CARD32      privsize B32;
111 } xXF86VidModeGetModeLineReply;
112 #define sz_xXF86VidModeGetModeLineReply 52
113
114 /* 0.x version */
115 typedef struct {
116     BYTE        type;                   /* X_Reply */
117     BOOL        pad1;
118     CARD16      sequenceNumber B16;
119     CARD32      length B32;
120     CARD32      dotclock B32;
121     CARD16      hdisplay B16;
122     CARD16      hsyncstart B16;
123     CARD16      hsyncend B16;
124     CARD16      htotal B16;
125     CARD16      vdisplay B16;
126     CARD16      vsyncstart B16;
127     CARD16      vsyncend B16;
128     CARD16      vtotal B16;
129     CARD32      flags B32;
130     CARD32      privsize B32;
131 } xXF86OldVidModeGetModeLineReply;
132 #define sz_xXF86OldVidModeGetModeLineReply      36
133
134 typedef struct {
135     CARD32      dotclock B32;
136     CARD16      hdisplay B16;
137     CARD16      hsyncstart B16;
138     CARD16      hsyncend B16;
139     CARD16      htotal B16;
140     CARD32      hskew B16;
141     CARD16      vdisplay B16;
142     CARD16      vsyncstart B16;
143     CARD16      vsyncend B16;
144     CARD16      vtotal B16;
145     CARD16      pad1 B16;
146     CARD32      flags B32;
147     CARD32      reserved1 B32;
148     CARD32      reserved2 B32;
149     CARD32      reserved3 B32;
150     CARD32      privsize B32;
151 } xXF86VidModeModeInfo;
152
153 /* 0.x version */
154 typedef struct {
155     CARD32      dotclock B32;
156     CARD16      hdisplay B16;
157     CARD16      hsyncstart B16;
158     CARD16      hsyncend B16;
159     CARD16      htotal B16;
160     CARD16      vdisplay B16;
161     CARD16      vsyncstart B16;
162     CARD16      vsyncend B16;
163     CARD16      vtotal B16;
164     CARD32      flags B32;
165     CARD32      privsize B32;
166 } xXF86OldVidModeModeInfo;
167
168 typedef struct {
169     BYTE        type;                   /* X_Reply */
170     BOOL        pad1;
171     CARD16      sequenceNumber B16;
172     CARD32      length B32;
173     CARD32      modecount B32;
174     CARD32      pad2 B32;
175     CARD32      pad3 B32;
176     CARD32      pad4 B32;
177     CARD32      pad5 B32;
178     CARD32      pad6 B32;
179 } xXF86VidModeGetAllModeLinesReply;
180 #define sz_xXF86VidModeGetAllModeLinesReply     32
181
182 typedef struct _XF86VidModeAddModeLine {
183     CARD8       reqType;                /* always XF86VidModeReqCode */
184     CARD8       xf86vidmodeReqType;     /* always X_XF86VidModeAddMode */
185     CARD16      length B16;
186     CARD32      screen B32;             /* could be CARD16 but need the pad */
187     CARD32      dotclock B32;
188     CARD16      hdisplay B16;
189     CARD16      hsyncstart B16;
190     CARD16      hsyncend B16;
191     CARD16      htotal B16;
192     CARD16      hskew B16;
193     CARD16      vdisplay B16;
194     CARD16      vsyncstart B16;
195     CARD16      vsyncend B16;
196     CARD16      vtotal B16;
197     CARD16      pad1 B16;
198     CARD32      flags B32;
199     CARD32      reserved1 B32;
200     CARD32      reserved2 B32;
201     CARD32      reserved3 B32;
202     CARD32      privsize B32;
203     CARD32      after_dotclock B32;
204     CARD16      after_hdisplay B16;
205     CARD16      after_hsyncstart B16;
206     CARD16      after_hsyncend B16;
207     CARD16      after_htotal B16;
208     CARD16      after_hskew B16;
209     CARD16      after_vdisplay B16;
210     CARD16      after_vsyncstart B16;
211     CARD16      after_vsyncend B16;
212     CARD16      after_vtotal B16;
213     CARD16      pad2 B16;
214     CARD32      after_flags B32;
215     CARD32      reserved4 B32;
216     CARD32      reserved5 B32;
217     CARD32      reserved6 B32;
218 } xXF86VidModeAddModeLineReq;
219 #define sz_xXF86VidModeAddModeLineReq   92
220
221 /* 0.x version */
222 typedef struct _XF86OldVidModeAddModeLine {
223     CARD8       reqType;                /* always XF86VidModeReqCode */
224     CARD8       xf86vidmodeReqType;     /* always X_XF86VidModeAddMode */
225     CARD16      length B16;
226     CARD32      screen B32;             /* could be CARD16 but need the pad */
227     CARD32      dotclock B32;
228     CARD16      hdisplay B16;
229     CARD16      hsyncstart B16;
230     CARD16      hsyncend B16;
231     CARD16      htotal B16;
232     CARD16      vdisplay B16;
233     CARD16      vsyncstart B16;
234     CARD16      vsyncend B16;
235     CARD16      vtotal B16;
236     CARD32      flags B32;
237     CARD32      privsize B32;
238     CARD32      after_dotclock B32;
239     CARD16      after_hdisplay B16;
240     CARD16      after_hsyncstart B16;
241     CARD16      after_hsyncend B16;
242     CARD16      after_htotal B16;
243     CARD16      after_vdisplay B16;
244     CARD16      after_vsyncstart B16;
245     CARD16      after_vsyncend B16;
246     CARD16      after_vtotal B16;
247     CARD32      after_flags B32;
248 } xXF86OldVidModeAddModeLineReq;
249 #define sz_xXF86OldVidModeAddModeLineReq        60
250
251 typedef struct _XF86VidModeModModeLine {
252     CARD8       reqType;                /* always XF86VidModeReqCode */
253     CARD8       xf86vidmodeReqType;     /* always X_XF86VidModeModModeLine */
254     CARD16      length B16;
255     CARD32      screen B32;             /* could be CARD16 but need the pad */
256     CARD16      hdisplay B16;
257     CARD16      hsyncstart B16;
258     CARD16      hsyncend B16;
259     CARD16      htotal B16;
260     CARD16      hskew B16;
261     CARD16      vdisplay B16;
262     CARD16      vsyncstart B16;
263     CARD16      vsyncend B16;
264     CARD16      vtotal B16;
265     CARD16      pad1 B16;
266     CARD32      flags B32;
267     CARD32      reserved1 B32;
268     CARD32      reserved2 B32;
269     CARD32      reserved3 B32;
270     CARD32      privsize B32;
271 } xXF86VidModeModModeLineReq;
272 #define sz_xXF86VidModeModModeLineReq   48
273
274 /* 0.x version */
275 typedef struct _XF86OldVidModeModModeLine {
276     CARD8       reqType;                /* always XF86OldVidModeReqCode */
277     CARD8       xf86vidmodeReqType;     /* always X_XF86OldVidModeModModeLine */
278     CARD16      length B16;
279     CARD32      screen B32;             /* could be CARD16 but need the pad */
280     CARD16      hdisplay B16;
281     CARD16      hsyncstart B16;
282     CARD16      hsyncend B16;
283     CARD16      htotal B16;
284     CARD16      vdisplay B16;
285     CARD16      vsyncstart B16;
286     CARD16      vsyncend B16;
287     CARD16      vtotal B16;
288     CARD32      flags B32;
289     CARD32      privsize B32;
290 } xXF86OldVidModeModModeLineReq;
291 #define sz_xXF86OldVidModeModModeLineReq        32
292
293 typedef struct _XF86VidModeValidateModeLine {
294     CARD8       reqType;                /* always XF86VidModeReqCode */
295     CARD8       xf86vidmodeReqType;
296     CARD16      length B16;
297     CARD32      screen B32;             /* could be CARD16 but need the pad */
298     CARD32      dotclock B32;
299     CARD16      hdisplay B16;
300     CARD16      hsyncstart B16;
301     CARD16      hsyncend B16;
302     CARD16      htotal B16;
303     CARD16      hskew B16;
304     CARD16      vdisplay B16;
305     CARD16      vsyncstart B16;
306     CARD16      vsyncend B16;
307     CARD16      vtotal B16;
308     CARD16      pad1 B16;
309     CARD32      flags B32;
310     CARD32      reserved1 B32;
311     CARD32      reserved2 B32;
312     CARD32      reserved3 B32;
313     CARD32      privsize B32;
314 } xXF86VidModeDeleteModeLineReq,
315   xXF86VidModeValidateModeLineReq,
316   xXF86VidModeSwitchToModeReq;
317 #define sz_xXF86VidModeDeleteModeLineReq        52
318 #define sz_xXF86VidModeValidateModeLineReq      52
319 #define sz_xXF86VidModeSwitchToModeReq          52
320
321 /* 0.x version */
322 typedef struct _XF86OldVidModeValidateModeLine {
323     CARD8       reqType;                /* always XF86OldVidModeReqCode */
324     CARD8       xf86vidmodeReqType;
325     CARD16      length B16;
326     CARD32      screen B32;             /* could be CARD16 but need the pad */
327     CARD32      dotclock B32;
328     CARD16      hdisplay B16;
329     CARD16      hsyncstart B16;
330     CARD16      hsyncend B16;
331     CARD16      htotal B16;
332     CARD16      vdisplay B16;
333     CARD16      vsyncstart B16;
334     CARD16      vsyncend B16;
335     CARD16      vtotal B16;
336     CARD32      flags B32;
337     CARD32      privsize B32;
338 } xXF86OldVidModeDeleteModeLineReq,
339   xXF86OldVidModeValidateModeLineReq,
340   xXF86OldVidModeSwitchToModeReq;
341 #define sz_xXF86OldVidModeDeleteModeLineReq     36
342 #define sz_xXF86OldVidModeValidateModeLineReq   36
343 #define sz_xXF86OldVidModeSwitchToModeReq       36
344
345 typedef struct _XF86VidModeSwitchMode {
346     CARD8       reqType;                /* always XF86VidModeReqCode */
347     CARD8       xf86vidmodeReqType;     /* always X_XF86VidModeSwitchMode */
348     CARD16      length B16;
349     CARD16      screen B16;
350     CARD16      zoom B16;
351 } xXF86VidModeSwitchModeReq;
352 #define sz_xXF86VidModeSwitchModeReq    8
353
354 typedef struct _XF86VidModeLockModeSwitch {
355     CARD8       reqType;                /* always XF86VidModeReqCode */
356     CARD8       xf86vidmodeReqType;     /* always X_XF86VidModeLockModeSwitch */
357     CARD16      length B16;
358     CARD16      screen B16;
359     CARD16      lock B16;
360 } xXF86VidModeLockModeSwitchReq;
361 #define sz_xXF86VidModeLockModeSwitchReq        8
362
363 typedef struct {
364     BYTE        type;                   /* X_Reply */
365     BOOL        pad1;
366     CARD16      sequenceNumber B16;
367     CARD32      length B32;
368     CARD32      status B32;
369     CARD32      pad2 B32;
370     CARD32      pad3 B32;
371     CARD32      pad4 B32;
372     CARD32      pad5 B32;
373     CARD32      pad6 B32;
374 } xXF86VidModeValidateModeLineReply;
375 #define sz_xXF86VidModeValidateModeLineReply    32
376
377 typedef struct {
378     BYTE        type;                   /* X_Reply */
379     BOOL        pad1;
380     CARD16      sequenceNumber B16;
381     CARD32      length B32;
382     CARD8       vendorLength;
383     CARD8       modelLength;
384     CARD8       nhsync;
385     CARD8       nvsync;
386     CARD32      pad2 B32;
387     CARD32      pad3 B32;
388     CARD32      pad4 B32;
389     CARD32      pad5 B32;
390     CARD32      pad6 B32;
391 } xXF86VidModeGetMonitorReply;
392 #define sz_xXF86VidModeGetMonitorReply  32
393
394 typedef struct {
395     BYTE        type;
396     BOOL        pad1;
397     CARD16      sequenceNumber B16;
398     CARD32      length B32;
399     CARD32      x B32;
400     CARD32      y B32;
401     CARD32      pad2 B32;
402     CARD32      pad3 B32;
403     CARD32      pad4 B32;
404     CARD32      pad5 B32;
405 } xXF86VidModeGetViewPortReply;
406 #define sz_xXF86VidModeGetViewPortReply 32
407
408 typedef struct _XF86VidModeSetViewPort {
409     CARD8       reqType;                /* always VidModeReqCode */
410     CARD8       xf86vidmodeReqType;     /* always X_XF86VidModeSetViewPort */
411     CARD16      length B16;
412     CARD16      screen B16;
413     CARD16      pad B16;
414     CARD32      x B32;
415     CARD32      y B32;
416 } xXF86VidModeSetViewPortReq;
417 #define sz_xXF86VidModeSetViewPortReq   16
418
419 typedef struct {
420     BYTE        type;
421     BOOL        pad1;
422     CARD16      sequenceNumber B16;
423     CARD32      length B32;
424     CARD32      flags B32;
425     CARD32      clocks B32;
426     CARD32      maxclocks B32;
427     CARD32      pad2 B32;
428     CARD32      pad3 B32;
429     CARD32      pad4 B32;
430 } xXF86VidModeGetDotClocksReply;
431 #define sz_xXF86VidModeGetDotClocksReply        32
432
433 typedef struct _XF86VidModeSetClientVersion {
434     CARD8       reqType;                /* always XF86VidModeReqCode */
435     CARD8       xf86vidmodeReqType;
436     CARD16      length B16;
437     CARD16      major B16;
438     CARD16      minor B16;
439 } xXF86VidModeSetClientVersionReq;
440 #define sz_xXF86VidModeSetClientVersionReq      8
441
442 typedef struct _XF86VidModeGetGamma {
443     CARD8       reqType;                /* always XF86VidModeReqCode */
444     CARD8       xf86vidmodeReqType;
445     CARD16      length B16;
446     CARD16      screen B16;
447     CARD16      pad B16;
448     CARD32      pad1 B32;
449     CARD32      pad2 B32;
450     CARD32      pad3 B32;
451     CARD32      pad4 B32;
452     CARD32      pad5 B32;
453     CARD32      pad6 B32;
454 } xXF86VidModeGetGammaReq;
455 #define sz_xXF86VidModeGetGammaReq              32
456
457 typedef struct {
458     BYTE        type;
459     BOOL        pad;
460     CARD16      sequenceNumber B16;
461     CARD32      length B32;
462     CARD32      red B32;
463     CARD32      green B32;
464     CARD32      blue B32;
465     CARD32      pad1 B32;
466     CARD32      pad2 B32;
467     CARD32      pad3 B32;
468 } xXF86VidModeGetGammaReply;
469 #define sz_xXF86VidModeGetGammaReply            32
470
471 typedef struct _XF86VidModeSetGamma {
472     CARD8       reqType;                /* always XF86VidModeReqCode */
473     CARD8       xf86vidmodeReqType;
474     CARD16      length B16;
475     CARD16      screen B16;
476     CARD16      pad B16;
477     CARD32      red B32;
478     CARD32      green B32;
479     CARD32      blue B32;
480     CARD32      pad1 B32;
481     CARD32      pad2 B32;
482     CARD32      pad3 B32;
483 } xXF86VidModeSetGammaReq;
484 #define sz_xXF86VidModeSetGammaReq              32
485
486
487 typedef struct _XF86VidModeSetGammaRamp {
488     CARD8       reqType;                /* always XF86VidModeReqCode */
489     CARD8       xf86vidmodeReqType;
490     CARD16      length B16;
491     CARD16      screen B16;
492     CARD16      size B16;
493 } xXF86VidModeSetGammaRampReq;
494 #define sz_xXF86VidModeSetGammaRampReq             8 
495
496 typedef struct _XF86VidModeGetGammaRamp {
497     CARD8       reqType;                /* always XF86VidModeReqCode */
498     CARD8       xf86vidmodeReqType;
499     CARD16      length B16;
500     CARD16      screen B16;
501     CARD16      size B16;
502 } xXF86VidModeGetGammaRampReq;
503 #define sz_xXF86VidModeGetGammaRampReq             8
504
505 typedef struct {
506     BYTE        type;
507     BOOL        pad;
508     CARD16      sequenceNumber B16;
509     CARD32      length B32;
510     CARD16      size B16;
511     CARD16      pad0 B16;
512     CARD32      pad1 B32;
513     CARD32      pad2 B32;
514     CARD32      pad3 B32;
515     CARD32      pad4 B32;
516     CARD32      pad5 B32;
517 } xXF86VidModeGetGammaRampReply;
518 #define sz_xXF86VidModeGetGammaRampReply            32
519
520 typedef struct _XF86VidModeGetGammaRampSize {
521     CARD8       reqType;                /* always XF86VidModeReqCode */
522     CARD8       xf86vidmodeReqType;
523     CARD16      length B16;
524     CARD16      screen B16;
525     CARD16      pad B16;
526 } xXF86VidModeGetGammaRampSizeReq;
527 #define sz_xXF86VidModeGetGammaRampSizeReq             8
528
529 typedef struct {
530     BYTE        type;
531     BOOL        pad;
532     CARD16      sequenceNumber B16;
533     CARD32      length B32;
534     CARD16      size B16;
535     CARD16      pad0 B16;
536     CARD32      pad1 B32;
537     CARD32      pad2 B32;
538     CARD32      pad3 B32;
539     CARD32      pad4 B32;
540     CARD32      pad5 B32;
541 } xXF86VidModeGetGammaRampSizeReply;
542 #define sz_xXF86VidModeGetGammaRampSizeReply            32
543
544
545 #endif /* _XF86VIDMODESTR_H_ */
546