Lines Matching +full:linear +full:- +full:mapping +full:- +full:mode

1 /*-
2 * SPDX-License-Identifier: BSD-3-Clause
4 * Copyright (c) 1991-1997 Søren Schmidt
88 ioctl(0, _IO('V', VGLOldMode - M_VESA_BASE), 0); in VGLEnd()
100 smode.mode = VT_AUTO; in VGLEnd()
141 VGLInit(int mode) in VGLInit() argument
147 return -1; in VGLInit()
161 return -1; in VGLInit()
162 if (IOCGROUP(mode) == 'V') /* XXX: this is ugly */ in VGLInit()
163 VGLModeInfo.vi_mode = (mode & 0x0ff) + M_VESA_BASE; in VGLInit()
165 VGLModeInfo.vi_mode = mode & 0x0ff; in VGLInit()
167 return -1; in VGLInit()
169 /* Save info for old mode to restore font size if old mode is graphics. */ in VGLInit()
172 return -1; in VGLInit()
175 return -1; in VGLInit()
179 return -2; in VGLInit()
183 return -3; in VGLInit()
189 * vi_mem_model specifies the memory model of the current video mode in VGLInit()
190 * in -CURRENT. in VGLInit()
198 return -4; in VGLInit()
200 VGLDisplay->Type = VIDBUF4; in VGLInit()
201 VGLDisplay->PixelBytes = 1; in VGLInit()
207 return -4; in VGLInit()
209 VGLDisplay->Type = VIDBUF8; in VGLInit()
210 VGLDisplay->PixelBytes = 1; in VGLInit()
213 VGLDisplay->Type = VIDBUF8X; in VGLInit()
214 VGLDisplay->PixelBytes = 1; in VGLInit()
217 VGLDisplay->PixelBytes = VGLModeInfo.vi_pixel_size; in VGLInit()
218 switch (VGLDisplay->PixelBytes) { in VGLInit()
220 VGLDisplay->Type = VIDBUF16; in VGLInit()
223 VGLDisplay->Type = VIDBUF24; in VGLInit()
226 VGLDisplay->Type = VIDBUF32; in VGLInit()
230 return -4; in VGLInit()
235 return -4; in VGLInit()
240 if (ioctl(0, mode, 0)) { in VGLInit()
242 return -5; in VGLInit()
246 return -6; in VGLInit()
250 * Calculate the shadow screen buffer size. In -CURRENT, va_buffer_size in VGLInit()
251 * always holds the entire frame buffer size, wheather it's in the linear in VGLInit()
252 * mode or windowed mode. in VGLInit()
254 * In -STABLE, va_buffer_size holds the frame buffer size, only if in VGLInit()
255 * the linear frame buffer mode is supported. Otherwise the field is zero. in VGLInit()
268 * The above is for old -CURRENT. Current -CURRENT since r203535 and/or in VGLInit()
270 * avoid wasting kva for mapping unused parts of the frame buffer. But all in VGLInit()
283 return -7; in VGLInit()
290 /* see if we are in the windowed buffer mode or in the linear buffer mode */ in VGLInit()
292 switch (VGLDisplay->Type) { in VGLInit()
294 VGLDisplay->Type = VIDBUF4S; in VGLInit()
297 VGLDisplay->Type = VIDBUF8S; in VGLInit()
300 VGLDisplay->Type = VIDBUF16S; in VGLInit()
303 VGLDisplay->Type = VIDBUF24S; in VGLInit()
306 VGLDisplay->Type = VIDBUF32S; in VGLInit()
310 return -8; in VGLInit()
314 VGLMode = mode; in VGLInit()
317 VGLDisplay->Xsize = VGLModeInfo.vi_width; in VGLInit()
318 VGLDisplay->Ysize = VGLModeInfo.vi_height; in VGLInit()
323 VGLDisplay->VXsize = VGLAdpInfo.va_line_width in VGLInit()
325 VGLDisplay->VYsize = VGLBufSize/VGLModeInfo.vi_planes/VGLAdpInfo.va_line_width; in VGLInit()
326 VGLDisplay->Xorigin = 0; in VGLInit()
327 VGLDisplay->Yorigin = 0; in VGLInit()
333 return -7; in VGLInit()
335 VGLDisplay->Bitmap = VGLMem; in VGLInit()
349 VGLDisplay->Xsize, VGLDisplay->Ysize, in VGLInit()
350 VGLDisplay->VXsize, VGLDisplay->VYsize); in VGLInit()
353 smode.mode = VT_PROCESS; in VGLInit()
360 return -9; in VGLInit()
386 VGLDisplay->Type = VIDBUF8; /* XXX */ in VGLCheckSwitch()
391 VGLDisplay->Type = VIDBUF4S; in VGLCheckSwitch()
393 VGLDisplay->Type = VIDBUF4; in VGLCheckSwitch()
401 VGLDisplay->Type = VIDBUF8S; in VGLCheckSwitch()
403 VGLDisplay->Type = VIDBUF8; in VGLCheckSwitch()
407 VGLDisplay->Type = VIDBUF8X; in VGLCheckSwitch()
413 VGLDisplay->Type = VIDBUF16S; in VGLCheckSwitch()
415 VGLDisplay->Type = VIDBUF16; in VGLCheckSwitch()
419 VGLDisplay->Type = VIDBUF24S; in VGLCheckSwitch()
421 VGLDisplay->Type = VIDBUF24; in VGLCheckSwitch()
425 VGLDisplay->Type = VIDBUF32S; in VGLCheckSwitch()
427 VGLDisplay->Type = VIDBUF32; in VGLCheckSwitch()
438 VGLDisplay->Bitmap = VGLMem; in VGLCheckSwitch()
439 VGLDisplay->Xsize = VGLModeInfo.vi_width; in VGLCheckSwitch()
440 VGLDisplay->Ysize = VGLModeInfo.vi_height; in VGLCheckSwitch()
441 VGLSetVScreenSize(VGLDisplay, VGLDisplay->VXsize, VGLDisplay->VYsize); in VGLCheckSwitch()
445 VGLPanScreen(VGLDisplay, VGLDisplay->Xorigin, VGLDisplay->Yorigin); in VGLCheckSwitch()
447 VGLDisplay->VXsize, VGLDisplay->VYsize); in VGLCheckSwitch()
453 munmap(VGLDisplay->Bitmap, VGLAdpInfo.va_window_size); in VGLCheckSwitch()
459 VGLDisplay->Bitmap = VGLBuf; in VGLCheckSwitch()
460 VGLDisplay->Type = MEMBUF; in VGLCheckSwitch()
461 VGLDisplay->Xsize = VGLDisplay->VXsize; in VGLCheckSwitch()
462 VGLDisplay->Ysize = VGLDisplay->VYsize; in VGLCheckSwitch()
483 if (VXsize < object->Xsize || VYsize < object->Ysize) in VGLSetVScreenSize()
484 return -1; in VGLSetVScreenSize()
485 if (object->Type == MEMBUF) in VGLSetVScreenSize()
486 return -1; in VGLSetVScreenSize()
488 return -1; in VGLSetVScreenSize()
493 object->VXsize = VGLAdpInfo.va_line_width in VGLSetVScreenSize()
495 object->VYsize = VGLBufSize/VGLModeInfo.vi_planes/VGLAdpInfo.va_line_width; in VGLSetVScreenSize()
496 if (VYsize < object->VYsize) in VGLSetVScreenSize()
497 object->VYsize = VYsize; in VGLSetVScreenSize()
501 object->Xsize, object->Ysize, object->VXsize, object->VYsize); in VGLSetVScreenSize()
512 if (x < 0 || x + object->Xsize > object->VXsize in VGLPanScreen()
513 || y < 0 || y + object->Ysize > object->VYsize) in VGLPanScreen()
514 return -1; in VGLPanScreen()
515 if (object->Type == MEMBUF) in VGLPanScreen()
520 return -1; in VGLPanScreen()
521 object->Xorigin = x; in VGLPanScreen()
522 object->Yorigin = y; in VGLPanScreen()