~ubuntu-branches/ubuntu/edgy/xorg-server/edgy-updates

« back to all changes in this revision

Viewing changes to hw/kdrive/vesa/vesa.h

  • Committer: Bazaar Package Importer
  • Author(s): Rodrigo Parra Novo
  • Date: 2006-07-25 20:06:28 UTC
  • mfrom: (1.1.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20060725200628-gjmmd9gxfxdc4ejs
Tags: 1:1.1.1-0ubuntu1
* New Upstream version
* Changed Build-Depends from mesa-swrast-source to mesa-swx11-source,
  following Debian package nomenclature
* Re-did 12_security_policy_in_etc.diff for 1.1.1
* Dropped 15_security_allocate_local.diff (applied upstream)
* Dropped 16_SECURITY_setuid.diff (applied upstream)
* Dropped 000_ubuntu_fix_read_kernel_mapping.patch (applied upstream)
* Dropped 002_ubuntu_fix_for_certain_intel_chipsets.patch (applied upstream)
* Updated versioned Build-Depends on mesa-swx11-source to version
  6.5.0.cvs.20060725-0ubuntu1
* Added arrayobj.c, arrayobj.h, bitset.h & rbadaptors.h to
  GL/symlink-mesa.sh (linked from mesa-swx11-source)
* Added arrayobj.c to default build target on GL/mesa/main

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* 
 
2
Copyright (c) 2000 by Juliusz Chroboczek
 
3
 
 
4
Permission is hereby granted, free of charge, to any person obtaining a copy
 
5
of this software and associated documentation files (the "Software"), to deal
 
6
in the Software without restriction, including without limitation the rights
 
7
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 
8
copies of the Software, and to permit persons to whom the Software is
 
9
furnished to do so, subject to the following conditions: 
 
10
 
 
11
The above copyright notice and this permission notice shall be included in
 
12
all copies or substantial portions of the Software. 
 
13
 
 
14
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 
15
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 
16
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
 
17
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 
18
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 
19
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 
20
THE SOFTWARE.
 
21
*/
 
22
/* $RCSId: xc/programs/Xserver/hw/kdrive/vesa/vesa.h,v 1.13 2002/09/29 23:39:47 keithp Exp $ */
 
23
 
 
24
#ifndef _VESA_H_
 
25
#define _VESA_H_
 
26
 
 
27
#include "kdrive.h"
 
28
#include "shadow.h"
 
29
#include "vm86.h"
 
30
#ifdef RANDR
 
31
#include "randrstr.h"
 
32
#endif
 
33
 
 
34
#define VESA_TEXT_SAVE  (64*1024)
 
35
 
 
36
#define MODE_SUPPORTED  0x01
 
37
#define MODE_COLOUR     0x08
 
38
#define MODE_GRAPHICS   0x10
 
39
#define MODE_VGA        0x20
 
40
#define MODE_LINEAR     0x80
 
41
 
 
42
#define MODE_DIRECT     0x1
 
43
 
 
44
#define MEMORY_TEXT     0
 
45
#define MEMORY_CGA      1
 
46
#define MEMORY_HERCULES 2
 
47
#define MEMORY_PLANAR   3
 
48
#define MEMORY_PSEUDO   4
 
49
#define MEMORY_NONCHAIN 5
 
50
#define MEMORY_DIRECT   6
 
51
#define MEMORY_YUV      7
 
52
 
 
53
typedef struct _VesaMode {
 
54
    int         mode;                   /* mode number */
 
55
    int         vbe;                    /* a VBE mode */
 
56
    int         ModeAttributes;         /* mode attributes */
 
57
    int         NumberOfPlanes;         /* number of memory planes */
 
58
    int         BitsPerPixel;           /* bits per pixel */
 
59
    int         MemoryModel;            /* memory model type */
 
60
    int         RedMaskSize;            /* size of direct color red mask in bits */
 
61
    int         RedFieldPosition;       /* bit position of lsb of red mask */
 
62
    int         GreenMaskSize;          /* size of direct color green mask in bits */
 
63
    int         GreenFieldPosition;     /* bit position of lsb of green mask */
 
64
    int         BlueMaskSize;           /* size of direct color blue mask in bits */
 
65
    int         BlueFieldPosition;      /* bit position of lsb of blue mask */
 
66
    int         RsvdMaskSize;           /* size of direct color reserved mask bits*/
 
67
    int         RsvdFieldPosition;      /* bit position of lsb of reserved mask */
 
68
    int         DirectColorModeInfo;    /* direct color mode attributes */
 
69
    int         XResolution;            /* horizontal resolution */
 
70
    int         YResolution;            /* vertical resolution */
 
71
    int         BytesPerScanLine;       /* bytes per scan line */
 
72
} VesaModeRec, *VesaModePtr;
 
73
 
 
74
#include "vbe.h"
 
75
#include "vga.h"
 
76
 
 
77
typedef struct _VesaCardPriv {
 
78
    int         vbe;
 
79
    VesaModePtr modes;
 
80
    int         nmode;
 
81
    Vm86InfoPtr vi;
 
82
    int         vga_palette;
 
83
    int         old_vbe_mode;
 
84
    int         old_vga_mode;
 
85
    VbeInfoPtr  vbeInfo;
 
86
    char        text[VESA_TEXT_SAVE];
 
87
    CARD8       cmap[256*4];
 
88
} VesaCardPrivRec, *VesaCardPrivPtr;
 
89
 
 
90
#define VESA_LINEAR     0
 
91
#define VESA_WINDOWED   1
 
92
#define VESA_PLANAR     2
 
93
#define VESA_MONO       3
 
94
 
 
95
typedef struct _VesaScreenPriv {
 
96
    VesaModeRec mode;
 
97
    Bool        shadow;
 
98
    Rotation    randr;
 
99
    int         mapping;
 
100
    int         origDepth;
 
101
    void        *fb;
 
102
    int         fb_size;
 
103
    CARD32      fb_phys;
 
104
    PixmapPtr   pShadow;
 
105
    Bool        mapped;
 
106
} VesaScreenPrivRec, *VesaScreenPrivPtr;
 
107
 
 
108
extern int vesa_video_mode;
 
109
extern Bool vesa_force_mode;
 
110
 
 
111
void
 
112
vesaReportMode (VesaModePtr mode);
 
113
 
 
114
VesaModePtr
 
115
vesaGetModes (Vm86InfoPtr vi, int *ret_nmode);
 
116
 
 
117
void
 
118
vesaTestMode (void);
 
119
 
 
120
void *
 
121
vesaSetWindowPlanar(ScreenPtr pScreen,
 
122
                  CARD32    row,
 
123
                  CARD32    offset,
 
124
                  int       mode,
 
125
                  CARD32    *size);
 
126
 
 
127
void *
 
128
vesaSetWindowLinear (ScreenPtr  pScreen,
 
129
                     CARD32     row,
 
130
                     CARD32     offset,
 
131
                     int        mode,
 
132
                     CARD32     *size);
 
133
 
 
134
void *
 
135
vesaSetWindowWindowed (ScreenPtr    pScreen,
 
136
                       CARD32       row,
 
137
                       CARD32       offset,
 
138
                       int          mode,
 
139
                       CARD32       *size);
 
140
 
 
141
void *
 
142
vesaWindowPlanar (ScreenPtr pScreen,
 
143
                  CARD32    row,
 
144
                  CARD32    offset,
 
145
                  int       mode,
 
146
                  CARD32    *size,
 
147
                  void      *closure);
 
148
 
 
149
void *
 
150
vesaWindowLinear (ScreenPtr pScreen,
 
151
                  CARD32    row,
 
152
                  CARD32    offset,
 
153
                  int       mode,
 
154
                  CARD32    *size,
 
155
                  void      *closure);
 
156
 
 
157
void *
 
158
vesaWindowWindowed (ScreenPtr   pScreen,
 
159
                    CARD32      row,
 
160
                    CARD32      offset,
 
161
                    int         mode,
 
162
                    CARD32      *size,
 
163
                    void        *closure);
 
164
 
 
165
void *
 
166
vesaWindowCga (ScreenPtr    pScreen,
 
167
               CARD32       row,
 
168
               CARD32       offset,
 
169
               int          mode,
 
170
               CARD32       *size,
 
171
               void         *closure);
 
172
 
 
173
void
 
174
vesaUpdateMono (ScreenPtr       pScreen,
 
175
                shadowBufPtr    pBuf);
 
176
 
 
177
Bool
 
178
vesaCreateColormap16 (ColormapPtr pmap);
 
179
 
 
180
void
 
181
vesaSetScreenSizes (ScreenPtr pScreen);
 
182
 
 
183
Bool
 
184
vesaSetShadow (ScreenPtr pScreen);
 
185
 
 
186
 
 
187
void
 
188
vesaListModes(void);
 
189
 
 
190
Bool
 
191
vesaInitialize(KdCardInfo *card, VesaCardPrivPtr priv);
 
192
 
 
193
Bool
 
194
vesaCardInit(KdCardInfo *card);
 
195
 
 
196
int
 
197
vesaDepth (VesaModePtr mode);
 
198
 
 
199
Bool
 
200
vesaModeGood (KdScreenInfo  *screen,
 
201
              VesaModePtr   a);
 
202
 
 
203
int
 
204
vesaSizeError (KdScreenInfo *screen,
 
205
               VesaModePtr  a);
 
206
 
 
207
Bool
 
208
vesaModeBetter (KdScreenInfo    *screen,
 
209
                VesaModePtr     a,
 
210
                VesaModePtr     b);
 
211
 
 
212
VesaModePtr
 
213
vesaSelectMode (KdScreenInfo *screen);
 
214
 
 
215
Bool
 
216
vesaInitialize (KdCardInfo *card, VesaCardPrivPtr priv);
 
217
 
 
218
Bool
 
219
vesaScreenInitialize (KdScreenInfo *screen, VesaScreenPrivPtr pscr);
 
220
 
 
221
Bool
 
222
vesaScreenInit(KdScreenInfo *screen);    
 
223
 
 
224
PixmapPtr
 
225
vesaGetPixmap (ScreenPtr pScreen);
 
226
 
 
227
Bool
 
228
vesaInitScreen(ScreenPtr pScreen);
 
229
 
 
230
Bool
 
231
vesaFinishInitScreen(ScreenPtr pScreen);
 
232
 
 
233
Bool
 
234
vesaCreateResources (ScreenPtr pScreen);
 
235
 
 
236
Bool
 
237
vesaSetMode (ScreenPtr      pScreen,
 
238
             VesaModePtr    mode);
 
239
 
 
240
Bool
 
241
vesaEnable(ScreenPtr pScreen);
 
242
 
 
243
Bool
 
244
vesaDPMS (ScreenPtr pScreen, int mode);
 
245
 
 
246
void
 
247
vesaDisable(ScreenPtr pScreen);
 
248
 
 
249
void
 
250
vesaPreserve(KdCardInfo *card);
 
251
 
 
252
void
 
253
vesaRestore(KdCardInfo *card);
 
254
 
 
255
void
 
256
vesaCardFini(KdCardInfo *card);
 
257
 
 
258
void
 
259
vesaScreenFini(KdScreenInfo *screen);
 
260
 
 
261
int 
 
262
vesaSetPalette(VesaCardPrivPtr priv, int first, int number, U8 *entries);
 
263
 
 
264
int 
 
265
vesaGetPalette(VesaCardPrivPtr priv, int first, int number, U8 *entries);
 
266
 
 
267
void
 
268
vesaPutColors (ScreenPtr pScreen, int fb, int n, xColorItem *pdefs);
 
269
 
 
270
void
 
271
vesaGetColors (ScreenPtr pScreen, int fb, int n, xColorItem *pdefs);
 
272
 
 
273
void
 
274
vesaUseMsg (void);
 
275
 
 
276
int
 
277
vesaProcessArgument (int argc, char **argv, int i);
 
278
 
 
279
#ifdef RANDR
 
280
Bool
 
281
vesaRandRGetInfo (ScreenPtr pScreen, Rotation *rotations);
 
282
 
 
283
Bool
 
284
vesaRandRSetConfig (ScreenPtr           pScreen,
 
285
                    Rotation            randr,
 
286
                    int                 rate,
 
287
                    RRScreenSizePtr     pSize);
 
288
Bool
 
289
vesaRandRInit (ScreenPtr pScreen);
 
290
 
 
291
#endif
 
292
 
 
293
Bool
 
294
toshibaDPMS (ScreenPtr pScreen, int mode);
 
295
 
 
296
#endif /* _VESA_H_ */