Replace explicit calls to video methods with their respective variants

implemented with macros. This patch improves code readability. Reasoning
behind vidd_* is a sort of "video discipline".

List of macros is supposed to be complete--all methods of video_switch
ought to have their respective macros from now on.

Functionally, this code should be no-op. My intention is to leave current
behaviour of touched code as is.

No objections:	rwatson
Silence on:	freebsd-current@
Approved by:	cognet
This commit is contained in:
Wojciech A. Koszek 2007-12-29 23:26:59 +00:00
parent 259699b294
commit 9336e0699b
26 changed files with 238 additions and 209 deletions

View File

@ -845,9 +845,9 @@ creator_puts(video_adapter_t *adp, vm_offset_t off, u_int16_t *s, int len)
int i;
for (i = 0; i < len; i++) {
(*vidsw[adp->va_index]->putc)(adp, off + i, s[i] & 0xff,
(s[i] & 0xff00) >> 8);
vidd_putc(adp, off + i, s[i] & 0xff, (s[i] & 0xff00) >> 8);
}
return (0);
}

View File

@ -484,7 +484,7 @@ int genfbread(genfb_softc_t *sc, video_adapter_t *adp, struct uio *uio,
len = imin(len, adp->va_window_size - offset);
if (len <= 0)
break;
(*vidsw[adp->va_index]->set_win_org)(adp, uio->uio_offset);
vidd_set_win_org(adp, uio->uio_offset);
error = uiomove((caddr_t)(adp->va_window + offset), len, uio);
if (error)
break;
@ -505,7 +505,7 @@ int genfbioctl(genfb_softc_t *sc, video_adapter_t *adp, u_long cmd,
if (adp == NULL) /* XXX */
return ENXIO;
error = (*vidsw[adp->va_index]->ioctl)(adp, cmd, arg);
error = vidd_ioctl(adp, cmd, arg);
if (error == ENOIOCTL)
error = ENODEV;
return error;
@ -514,7 +514,7 @@ int genfbioctl(genfb_softc_t *sc, video_adapter_t *adp, u_long cmd,
int genfbmmap(genfb_softc_t *sc, video_adapter_t *adp, vm_offset_t offset,
vm_offset_t *paddr, int prot)
{
return (*vidsw[adp->va_index]->mmap)(adp, offset, paddr, prot);
return vidd_mmap(adp, offset, paddr, prot);
}
#endif /* FB_INSTALL_CDEV */
@ -686,16 +686,15 @@ fb_commonioctl(video_adapter_t *adp, u_long cmd, caddr_t arg)
break;
case FBIO_MODEINFO: /* get mode information */
error = (*vidsw[adp->va_index]->get_info)(adp,
((video_info_t *)arg)->vi_mode,
(video_info_t *)arg);
error = vidd_get_info(adp,
((video_info_t *)arg)->vi_mode,
(video_info_t *)arg);
if (error)
error = ENODEV;
break;
case FBIO_FINDMODE: /* find a matching video mode */
error = (*vidsw[adp->va_index]->query_mode)(adp,
(video_info_t *)arg);
error = vidd_query_mode(adp, (video_info_t *)arg);
break;
case FBIO_GETMODE: /* get video mode */
@ -703,7 +702,7 @@ fb_commonioctl(video_adapter_t *adp, u_long cmd, caddr_t arg)
break;
case FBIO_SETMODE: /* set video mode */
error = (*vidsw[adp->va_index]->set_mode)(adp, *(int *)arg);
error = vidd_set_mode(adp, *(int *)arg);
if (error)
error = ENODEV; /* EINVAL? */
break;
@ -722,7 +721,7 @@ fb_commonioctl(video_adapter_t *adp, u_long cmd, caddr_t arg)
break;
case FBIO_BLANK: /* blank display */
error = (*vidsw[adp->va_index]->blank_display)(adp, *(int *)arg);
error = vidd_blank_display(adp, *(int *)arg);
break;
case FBIO_GETPALETTE: /* get color palette */

View File

@ -189,20 +189,74 @@ typedef struct video_switch {
vi_putm_t *putm;
} video_switch_t;
#define save_palette(adp, pal) \
(*vidsw[(adp)->va_index]->save_palette)((adp), (pal))
#define load_palette(adp, pal) \
(*vidsw[(adp)->va_index]->load_palette)((adp), (pal))
#define get_mode_info(adp, mode, buf) \
(*vidsw[(adp)->va_index]->get_info)((adp), (mode), (buf))
#define set_video_mode(adp, mode) \
#define vidd_probe(unit, adpp, arg, flags) \
(*vidsw[(adp)->va_index]->probe)((unit), (adpp), (arg), (flags))
#define vidd_init(unit, adp, flags) \
(*vidsw[(adp)->va_index]->init)((unit), (adp), (flags))
#define vidd_get_info(adp, mode, info) \
(*vidsw[(adp)->va_index]->get_info)((adp), (mode), (info))
#define vidd_query_mode(adp, mode) \
(*vidsw[(adp)->va_index]->query_mode)((adp), (mode))
#define vidd_set_mode(adp, mode) \
(*vidsw[(adp)->va_index]->set_mode)((adp), (mode))
#define set_border(adp, border) \
#define vidd_save_font(adp, page, size, width, data, c, count) \
(*vidsw[(adp)->va_index]->save_font)((adp), (page), (size), \
(width), (data), (c), (count))
#define vidd_load_font(adp, page, size, width, data, c, count) \
(*vidsw[(adp)->va_index]->load_font)((adp), (page), (size), \
(width), (data), (c), (count))
#define vidd_show_font(adp, page) \
(*vidsw[(adp)->va_index]->show_font)((adp), (page))
#define vidd_save_palette(adp, pallete) \
(*vidsw[(adp)->va_index]->save_palette)((adp), (pallete))
#define vidd_load_palette(adp, pallete) \
(*vidsw[(adp)->va_index]->load_palette)((adp), (pallete))
#define vidd_set_border(adp, border) \
(*vidsw[(adp)->va_index]->set_border)((adp), (border))
#define set_origin(adp, o) \
(*vidsw[(adp)->va_index]->set_win_org)(adp, o)
/* XXX - add more macros */
#define vidd_save_state(adp, p, size) \
(*vidsw[(adp)->va_index]->save_state)((adp), (p), (size))
#define vidd_load_state(adp, p) \
(*vidsw[(adp)->va_index]->load_state)((adp), (p))
#define vidd_set_win_org(adp, offset) \
(*vidsw[(adp)->va_index]->set_win_org)((adp), (offset))
#define vidd_read_hw_cursor(adp, col, row) \
(*vidsw[(adp)->va_index]->read_hw_cursor)((adp), (col), (row))
#define vidd_set_hw_cursor(adp, col, row) \
(*vidsw[(adp)->va_index]->set_hw_cursor)((adp), (col), (row))
#define vidd_set_hw_cursor_shape(adp, base, height, celsize, blink) \
(*vidsw[(adp)->va_index]->set_hw_cursor_shape)((adp), (base), \
(height), (celsize), (blink))
#define vidd_blank_display(adp, mode) \
(*vidsw[(adp)->va_index]->blank_display)((adp), (mode))
#define vidd_mmap(adp, offset, paddr, prot) \
(*vidsw[(adp)->va_index]->mmap)((adp), (offset), (paddr), (prot))
#define vidd_ioctl(adp, cmd, data) \
(*vidsw[(adp)->va_index]->ioctl)((adp), (cmd), (data))
#define vidd_clear(adp) \
(*vidsw[(adp)->va_index]->clear)((adp))
#define vidd_fill_rect(adp, val, x, y, cx, cy) \
(*vidsw[(adp)->va_index]->fill_rect)((adp), (val), (x), (y), \
(cx), (cy))
#define vidd_bitblt(adp, ...) \
(*vidsw[(adp)->va_index]->bitblt)(adp, __VA_ARGS__)
#define vidd_diag(adp, level) \
(*vidsw[(adp)->va_index]->diag)((adp), (level))
#define vidd_save_cursor_palette(adp, palette) \
(*vidsw[(adp)->va_index]->save_cursor_palette)((adp), (palette))
#define vidd_load_cursor_palette(adp, palette) \
(*vidsw[(adp)->va_index]->load_cursor_palette)((adp), (palette))
#define vidd_copy(adp, src, dst, n) \
(*vidsw[(adp)->va_index]->copy)((adp), (src), (dst), (n))
#define vidd_putp(adp, offset, p, a, size, bpp, bit_ltor1, byte_ltor2) \
(*vidsw[(adp)->va_index]->putp)((adp), (offset), (p), (a), \
(size), (bpp), (bit_ltor1), (bit_ltor2))
#define vidd_putc(adp, offset, c, a) \
(*vidsw[(adp)->va_index]->putc)((adp), (offset), (c), (a))
#define vidd_puts(adp, offset, s, len) \
(*vidsw[(adp)->va_index]->puts)((adp), (offset), (s), (len))
#define vidd_putm(adp, x, y, pixel_image, pixel_mask, size, width) \
(*vidsw[(adp)->va_index]->putm)((adp), (x), (y), (pixel_image), \
(pixel_mask), (size), (width))
/* video driver */
typedef struct video_driver {

View File

@ -1113,7 +1113,7 @@ machfb_puts(video_adapter_t *adp, vm_offset_t off, uint16_t *s, int len)
MACHFB_BLANK;
blanks = 0;
}
(*vidsw[adp->va_index]->putc)(adp, off + i, c, a);
vidd_putc(adp, off + i, c, a);
}
}
if (blanks != 0)

View File

@ -94,9 +94,9 @@ bmp_start(video_adapter_t *adp)
return ENODEV;
}
for (i = 0; modes[i] >= 0; ++i) {
if (((*vidsw[adp->va_index]->get_info)(adp, modes[i], &info) == 0)
&& (bmp_Init((u_char *)bmp_decoder.data,
info.vi_width, info.vi_height, info.vi_depth) == 0))
if ((vidd_get_info(adp, modes[i], &info) == 0) &&
(bmp_Init((u_char *)bmp_decoder.data, info.vi_width,
info.vi_height, info.vi_depth) == 0))
break;
}
splash_mode = modes[i];
@ -127,11 +127,11 @@ bmp_splash(video_adapter_t *adp, int on)
if (on) {
if (!splash_on) {
/* set up the video mode and draw something */
if ((*vidsw[adp->va_index]->set_mode)(adp, splash_mode))
if (vidd_set_mode(adp, splash_mode))
return 1;
if (bmp_Draw(adp))
return 1;
(*vidsw[adp->va_index]->save_palette)(adp, pal);
vidd_save_palette(adp, pal);
time_stamp = 0;
splash_on = TRUE;
}
@ -160,7 +160,7 @@ bmp_splash(video_adapter_t *adp, int on)
for (i = 0; i < sizeof(pal); ++i) {
tpal[i] = pal[i] * brightness / FADE_LEVELS;
}
(*vidsw[adp->va_index]->load_palette)(adp, tpal);
vidd_load_palette(adp, tpal);
time_stamp = tv.tv_sec;
}
}
@ -298,7 +298,7 @@ bmp_SetPix(BMP_INFO *info, int x, int y, u_char val)
sofs += (x >> 3);
newbank = sofs/info->adp->va_window_size;
if (info->bank != newbank) {
(*vidsw[info->adp->va_index]->set_win_org)(info->adp, newbank*info->adp->va_window_size);
vidd_set_win_org(info->adp, newbank*info->adp->va_window_size);
info->bank = newbank;
}
sofs %= info->adp->va_window_size;
@ -313,7 +313,7 @@ bmp_SetPix(BMP_INFO *info, int x, int y, u_char val)
sofs += x;
newbank = sofs/info->adp->va_window_size;
if (info->bank != newbank) {
(*vidsw[info->adp->va_index]->set_win_org)(info->adp, newbank*info->adp->va_window_size);
vidd_set_win_org(info->adp, newbank*info->adp->va_window_size);
info->bank = newbank;
}
sofs %= info->adp->va_window_size;
@ -601,8 +601,8 @@ bmp_Draw(video_adapter_t *adp)
/* clear the screen */
bmp_info.vidmem = (u_char *)adp->va_window;
bmp_info.adp = adp;
(*vidsw[adp->va_index]->clear)(adp);
(*vidsw[adp->va_index]->set_win_org)(adp, 0);
vidd_clear(adp);
vidd_set_win_org(adp, 0);
bmp_info.bank = 0;
/* initialise the info structure for drawing */
@ -612,7 +612,7 @@ bmp_Draw(video_adapter_t *adp)
#endif
/* set the palette for our image */
(*vidsw[adp->va_index]->load_palette)(adp, (u_char *)&bmp_info.palette);
vidd_load_palette(adp, (u_char *)&bmp_info.palette);
#if 0
#ifndef PC98

View File

@ -98,7 +98,7 @@ pcx_start(video_adapter_t *adp)
pcx_info.bpp, pcx_info.planes);
for (i = 0; modes[i] >= 0; ++i) {
if (get_mode_info(adp, modes[i], &info) != 0)
if (vidd_get_info(adp, modes[i], &info) != 0)
continue;
if (bootverbose)
printf("splash_pcx: considering mode %d:\n"
@ -136,7 +136,7 @@ pcx_splash(video_adapter_t *adp, int on)
{
if (on) {
if (!splash_on) {
if (set_video_mode(adp, splash_mode) || pcx_draw(adp))
if (vidd_set_mode(adp, splash_mode) || pcx_draw(adp))
return 1;
splash_on = TRUE;
}
@ -208,7 +208,7 @@ pcx_draw(video_adapter_t *adp)
if (pcx_info.zlen < 1)
return (1);
load_palette(adp, pcx_info.palette);
vidd_load_palette(adp, pcx_info.palette);
vidmem = (uint8_t *)adp->va_window;
swidth = adp->va_info.vi_width;
@ -219,7 +219,7 @@ pcx_draw(video_adapter_t *adp)
banksize = adp->va_window_size;
for (origin = 0; origin < sheight*sbpsl; origin += banksize) {
set_origin(adp, origin);
vidd_set_win_org(adp, origin);
bzero(vidmem, banksize);
}
@ -231,7 +231,7 @@ pcx_draw(video_adapter_t *adp)
pos -= banksize;
origin += banksize;
}
set_origin(adp, origin);
vidd_set_win_org(adp, origin);
for (scan = i = 0; scan < pcx_info.height; ++scan, ++y, pos += sbpsl) {
for (j = 0; j < pcx_info.bpsl && i < pcx_info.zlen; ++i) {
@ -251,7 +251,7 @@ pcx_draw(video_adapter_t *adp)
if (pos > banksize) {
origin += banksize;
pos -= banksize;
set_origin(adp, origin);
vidd_set_win_org(adp, origin);
}
if (pos + pcx_info.width > banksize) {
@ -260,7 +260,7 @@ pcx_draw(video_adapter_t *adp)
bcopy(line, vidmem + pos, j);
origin += banksize;
pos -= banksize;
set_origin(adp, origin);
vidd_set_win_org(adp, origin);
bcopy(line + j, vidmem, pcx_info.width - j);
} else {
bcopy(line, vidmem + pos, pcx_info.width);

View File

@ -1656,7 +1656,7 @@ vga_set_mode(video_adapter_t *adp, int mode)
update_adapter_info(adp, &info);
/* move hardware cursor out of the way */
(*vidsw[adp->va_index]->set_hw_cursor)(adp, -1, -1);
vidd_set_hw_cursor(adp, -1, -1);
return 0;
#else /* VGA_NO_MODE_CHANGE */
@ -2502,7 +2502,7 @@ planar_fill(video_adapter_t *adp, int val)
length = adp->va_line_width*adp->va_info.vi_height;
while (length > 0) {
l = imin(length, adp->va_window_size);
(*vidsw[adp->va_index]->set_win_org)(adp, at);
vidd_set_win_org(adp, at);
bzero_io(adp->va_window, l);
length -= l;
at += l;
@ -2522,7 +2522,7 @@ packed_fill(video_adapter_t *adp, int val)
length = adp->va_line_width*adp->va_info.vi_height;
while (length > 0) {
l = imin(length, adp->va_window_size);
(*vidsw[adp->va_index]->set_win_org)(adp, at);
vidd_set_win_org(adp, at);
fill_io(val, adp->va_window, l);
length -= l;
at += l;
@ -2540,7 +2540,7 @@ direct_fill(video_adapter_t *adp, int val)
length = adp->va_line_width*adp->va_info.vi_height;
while (length > 0) {
l = imin(length, adp->va_window_size);
(*vidsw[adp->va_index]->set_win_org)(adp, at);
vidd_set_win_org(adp, at);
switch (adp->va_info.vi_pixel_size) {
case sizeof(u_int16_t):
fillw_io(val, adp->va_window, l/sizeof(u_int16_t));
@ -2599,7 +2599,7 @@ planar_fill_rect(video_adapter_t *adp, int val, int x, int y, int cx, int cy)
while (cy > 0) {
pos = adp->va_line_width*y + x/8;
if (bank != pos/banksize) {
(*vidsw[adp->va_index]->set_win_org)(adp, pos);
vidd_set_win_org(adp, pos);
bank = pos/banksize;
}
offset = pos%banksize;
@ -2612,7 +2612,7 @@ planar_fill_rect(video_adapter_t *adp, int val, int x, int y, int cx, int cy)
if (offset >= banksize) {
offset = 0;
++bank; /* next bank */
(*vidsw[adp->va_index]->set_win_org)(adp, bank*banksize);
vidd_set_win_org(adp, bank*banksize);
}
outw(GDCIDX, 0xff08); /* bit mask */
}
@ -2624,7 +2624,7 @@ planar_fill_rect(video_adapter_t *adp, int val, int x, int y, int cx, int cy)
if (offset >= banksize) {
offset = 0;
++bank; /* next bank */
(*vidsw[adp->va_index]->set_win_org)(adp, bank*banksize);
vidd_set_win_org(adp, bank*banksize);
}
}
if ((x + cx) % 8) {
@ -2634,7 +2634,7 @@ planar_fill_rect(video_adapter_t *adp, int val, int x, int y, int cx, int cy)
if (offset >= banksize) {
offset = 0;
++bank; /* next bank */
(*vidsw[adp->va_index]->set_win_org)(adp, bank*banksize);
vidd_set_win_org(adp, bank*banksize);
}
outw(GDCIDX, 0xff08); /* bit mask */
}
@ -2662,7 +2662,7 @@ packed_fill_rect(video_adapter_t *adp, int val, int x, int y, int cx, int cy)
while (cy > 0) {
pos = adp->va_line_width*y + x*adp->va_info.vi_pixel_size;
if (bank != pos/banksize) {
(*vidsw[adp->va_index]->set_win_org)(adp, pos);
vidd_set_win_org(adp, pos);
bank = pos/banksize;
}
offset = pos%banksize;
@ -2672,7 +2672,7 @@ packed_fill_rect(video_adapter_t *adp, int val, int x, int y, int cx, int cy)
/* the line may cross the window boundary */
if (offset + cx > banksize) {
++bank; /* next bank */
(*vidsw[adp->va_index]->set_win_org)(adp, bank*banksize);
vidd_set_win_org(adp, bank*banksize);
end = offset + cx - banksize;
fill_io(val, adp->va_window, end/adp->va_info.vi_pixel_size);
}
@ -2700,7 +2700,7 @@ direct_fill_rect16(video_adapter_t *adp, int val, int x, int y, int cx, int cy)
while (cy > 0) {
pos = adp->va_line_width*y + x*sizeof(u_int16_t);
if (bank != pos/banksize) {
(*vidsw[adp->va_index]->set_win_org)(adp, pos);
vidd_set_win_org(adp, pos);
bank = pos/banksize;
}
offset = pos%banksize;
@ -2710,7 +2710,7 @@ direct_fill_rect16(video_adapter_t *adp, int val, int x, int y, int cx, int cy)
/* the line may cross the window boundary */
if (offset + cx > banksize) {
++bank; /* next bank */
(*vidsw[adp->va_index]->set_win_org)(adp, bank*banksize);
vidd_set_win_org(adp, bank*banksize);
end = offset + cx - banksize;
fillw_io(val, adp->va_window, end/sizeof(u_int16_t));
}
@ -2740,7 +2740,7 @@ direct_fill_rect24(video_adapter_t *adp, int val, int x, int y, int cx, int cy)
while (cy > 0) {
pos = adp->va_line_width*y + x*3;
if (bank != pos/banksize) {
(*vidsw[adp->va_index]->set_win_org)(adp, pos);
vidd_set_win_org(adp, pos);
bank = pos/banksize;
}
offset = pos%banksize;
@ -2751,7 +2751,7 @@ direct_fill_rect24(video_adapter_t *adp, int val, int x, int y, int cx, int cy)
/* the line may cross the window boundary */
if (offset + cx >= banksize) {
++bank; /* next bank */
(*vidsw[adp->va_index]->set_win_org)(adp, bank*banksize);
vidd_set_win_org(adp, bank*banksize);
j = 0;
end = offset + cx - banksize;
for (; j < end; i = (++i)%3, ++j) {
@ -2782,7 +2782,7 @@ direct_fill_rect32(video_adapter_t *adp, int val, int x, int y, int cx, int cy)
while (cy > 0) {
pos = adp->va_line_width*y + x*sizeof(u_int32_t);
if (bank != pos/banksize) {
(*vidsw[adp->va_index]->set_win_org)(adp, pos);
vidd_set_win_org(adp, pos);
bank = pos/banksize;
}
offset = pos%banksize;
@ -2792,7 +2792,7 @@ direct_fill_rect32(video_adapter_t *adp, int val, int x, int y, int cx, int cy)
/* the line may cross the window boundary */
if (offset + cx > banksize) {
++bank; /* next bank */
(*vidsw[adp->va_index]->set_win_org)(adp, bank*banksize);
vidd_set_win_org(adp, bank*banksize);
end = offset + cx - banksize;
filll_io(val, adp->va_window, end/sizeof(u_int32_t));
}

View File

@ -42,16 +42,14 @@
static int
blank_saver(video_adapter_t *adp, int blank)
{
(*vidsw[adp->va_index]->blank_display)(adp,
(blank) ? V_DISPLAY_BLANK
: V_DISPLAY_ON);
vidd_blank_display(adp, (blank) ? V_DISPLAY_BLANK : V_DISPLAY_ON);
return 0;
}
static int
blank_init(video_adapter_t *adp)
{
if ((*vidsw[adp->va_index]->blank_display)(adp, V_DISPLAY_ON) == 0)
if (vidd_blank_display(adp, V_DISPLAY_ON) == 0)
return 0;
return ENODEV;
}

View File

@ -225,7 +225,7 @@ daemon_saver(video_adapter_t *adp, int blank)
/* clear the screen and set the border color */
sc_vtb_clear(&scp->scr, sc->scr_map[0x20],
ATTR(FG_LIGHTGREY | BG_BLACK));
(*vidsw[adp->va_index]->set_hw_cursor)(adp, -1, -1);
vidd_set_hw_cursor(adp, -1, -1);
sc_set_border(scp, 0);
xlen = ylen = tlen = 0;
}

View File

@ -135,13 +135,13 @@ dragon_update(video_adapter_t *adp)
int tmp;
if (curve > CURVE) {
(*vidsw[adp->va_index]->clear)(adp);
vidd_clear(adp);
/* set palette of each curves */
for (tmp = 0; tmp < 3*CURVE; ++tmp) {
dragon_pal[3+tmp] = (u_char)random();
}
load_palette(adp, dragon_pal);
vidd_load_palette(adp, dragon_pal);
mul = ((random() & 7) + 1) * (SCRW / 320);
org_x = random() % SCRW; org_y = random() % SCRH;
@ -207,7 +207,7 @@ dragon_saver(video_adapter_t *adp, int blank)
/* switch to graphics mode */
if (blanked <= 0) {
pl = splhigh();
set_video_mode(adp, VIDEO_MODE);
vidd_set_mode(adp, VIDEO_MODE);
vid = (u_char *)adp->va_window;
curve = CURVE + 1;
++blanked;
@ -229,7 +229,7 @@ dragon_init(video_adapter_t *adp)
video_info_t info;
/* check that the console is capable of running in 320x200x256 */
if (get_mode_info(adp, VIDEO_MODE, &info)) {
if (vidd_get_info(adp, VIDEO_MODE, &info)) {
log(LOG_NOTICE,
"%s: the console does not support " VIDEO_MODE_NAME "\n",
SAVER_NAME);

View File

@ -51,7 +51,7 @@ fade_saver(video_adapter_t *adp, int blank)
if (blank) {
if (ISPALAVAIL(adp->va_flags)) {
if (count <= 0)
save_palette(adp, palette);
vidd_save_palette(adp, palette);
if (count < 256) {
pal[0] = pal[1] = pal[2] = 0;
for (i = 3; i < 256*3; i++) {
@ -60,20 +60,18 @@ fade_saver(video_adapter_t *adp, int blank)
else
pal[i] = 60;
}
load_palette(adp, pal);
vidd_load_palette(adp, pal);
count++;
}
} else {
(*vidsw[adp->va_index]->blank_display)(adp,
V_DISPLAY_BLANK);
vidd_blank_display(adp, V_DISPLAY_BLANK);
}
} else {
if (ISPALAVAIL(adp->va_flags)) {
load_palette(adp, palette);
vidd_load_palette(adp, palette);
count = 0;
} else {
(*vidsw[adp->va_index]->blank_display)(adp,
V_DISPLAY_ON);
vidd_blank_display(adp, V_DISPLAY_ON);
}
}
return 0;
@ -82,8 +80,8 @@ fade_saver(video_adapter_t *adp, int blank)
static int
fade_init(video_adapter_t *adp)
{
if (!ISPALAVAIL(adp->va_flags)
&& (*vidsw[adp->va_index]->blank_display)(adp, V_DISPLAY_ON) != 0)
if (!ISPALAVAIL(adp->va_flags) &&
vidd_blank_display(adp, V_DISPLAY_ON) != 0)
return ENODEV;
return 0;
}

View File

@ -55,7 +55,7 @@
#define SET_ORIGIN(adp, o) do { \
int oo = o; \
if (oo != last_origin) \
set_origin(adp, last_origin = oo); \
vidd_set_win_org(adp, last_origin = oo); \
} while (0)
static u_char *buf;
@ -118,14 +118,14 @@ fire_saver(video_adapter_t *adp, int blank)
/* switch to graphics mode */
if (blanked <= 0) {
pl = splhigh();
set_video_mode(adp, scrmode);
load_palette(adp, fire_pal);
vidd_set_mode(adp, scrmode);
vidd_load_palette(adp, fire_pal);
blanked++;
vid = (u_char *)adp->va_window;
banksize = adp->va_window_size;
bpsl = adp->va_line_width;
splx(pl);
(*vidsw[adp->va_index]->clear)(adp);
vidd_clear(adp);
}
fire_update(adp);
} else {
@ -141,11 +141,11 @@ fire_init(video_adapter_t *adp)
video_info_t info;
int i, red, green, blue;
if (!get_mode_info(adp, M_VGA_CG320, &info)) {
if (!vidd_get_info(adp, M_VGA_CG320, &info)) {
scrmode = M_VGA_CG320;
} else if (!get_mode_info(adp, M_PC98_PEGC640x480, &info)) {
} else if (!vidd_get_info(adp, M_PC98_PEGC640x480, &info)) {
scrmode = M_PC98_PEGC640x480;
} else if (!get_mode_info(adp, M_PC98_PEGC640x400, &info)) {
} else if (!vidd_get_info(adp, M_PC98_PEGC640x400, &info)) {
scrmode = M_PC98_PEGC640x400;
} else {
log(LOG_NOTICE,

View File

@ -42,16 +42,15 @@
static int
green_saver(video_adapter_t *adp, int blank)
{
(*vidsw[adp->va_index]->blank_display)(adp,
(blank) ? V_DISPLAY_STAND_BY
: V_DISPLAY_ON);
vidd_blank_display(adp,
(blank) ? V_DISPLAY_STAND_BY : V_DISPLAY_ON);
return 0;
}
static int
green_init(video_adapter_t *adp)
{
if ((*vidsw[adp->va_index]->blank_display)(adp, V_DISPLAY_ON) == 0)
if (vidd_blank_display(adp, V_DISPLAY_ON) == 0)
return 0;
return ENODEV;
}

View File

@ -45,7 +45,7 @@
#define SET_ORIGIN(adp, o) do { \
int oo = o; \
if (oo != last_origin) \
set_origin(adp, last_origin = oo); \
vidd_set_win_org(adp, last_origin = oo); \
} while (0)
extern unsigned int logo_w;
@ -114,15 +114,15 @@ logo_saver(video_adapter_t *adp, int blank)
/* switch to graphics mode */
if (blanked <= 0) {
pl = splhigh();
set_video_mode(adp, scrmode);
load_palette(adp, logo_pal);
set_border(adp, 0);
vidd_set_mode(adp, scrmode);
vidd_load_palette(adp, logo_pal);
vidd_set_border(adp, 0);
blanked++;
vid = (u_char *)adp->va_window;
banksize = adp->va_window_size;
bpsl = adp->va_line_width;
splx(pl);
(*vidsw[adp->va_index]->clear)(adp);
vidd_clear(adp);
}
logo_update(adp);
} else {
@ -136,13 +136,13 @@ logo_init(video_adapter_t *adp)
{
video_info_t info;
if (!get_mode_info(adp, M_VESA_CG800x600, &info)) {
if (!vidd_get_info(adp, M_VESA_CG800x600, &info)) {
scrmode = M_VESA_CG800x600;
} else if (!get_mode_info(adp, M_VGA_CG320, &info)) {
} else if (!vidd_get_info(adp, M_VGA_CG320, &info)) {
scrmode = M_VGA_CG320;
} else if (!get_mode_info(adp, M_PC98_PEGC640x480, &info)) {
} else if (!vidd_get_info(adp, M_PC98_PEGC640x480, &info)) {
scrmode = M_PC98_PEGC640x480;
} else if (!get_mode_info(adp, M_PC98_PEGC640x400, &info)) {
} else if (!vidd_get_info(adp, M_PC98_PEGC640x400, &info)) {
scrmode = M_PC98_PEGC640x400;
} else {
log(LOG_NOTICE,

View File

@ -54,7 +54,7 @@
#define SET_ORIGIN(adp, o) do { \
int oo = o; \
if (oo != last_origin) \
set_origin(adp, last_origin = oo); \
vidd_set_win_org(adp, last_origin = oo); \
} while (0)
static u_char *vid;
@ -71,7 +71,7 @@ rain_update(video_adapter_t *adp)
for (i = MAX; i > 1; i--)
rain_pal[BLUE(i)] = rain_pal[BLUE(i - 1)];
rain_pal[BLUE(1)] = t;
load_palette(adp, rain_pal);
vidd_load_palette(adp, rain_pal);
}
static int
@ -85,9 +85,9 @@ rain_saver(video_adapter_t *adp, int blank)
/* switch to graphics mode */
if (blanked <= 0) {
pl = splhigh();
set_video_mode(adp, scrmode);
load_palette(adp, rain_pal);
set_border(adp, 0);
vidd_set_mode(adp, scrmode);
vidd_load_palette(adp, rain_pal);
vidd_set_border(adp, 0);
blanked++;
vid = (u_char *)adp->va_window;
banksize = adp->va_window_size;
@ -141,11 +141,11 @@ rain_init(video_adapter_t *adp)
video_info_t info;
int i;
if (!get_mode_info(adp, M_VGA_CG320, &info)) {
if (!vidd_get_info(adp, M_VGA_CG320, &info)) {
scrmode = M_VGA_CG320;
} else if (!get_mode_info(adp, M_PC98_PEGC640x480, &info)) {
} else if (!vidd_get_info(adp, M_PC98_PEGC640x480, &info)) {
scrmode = M_PC98_PEGC640x480;
} else if (!get_mode_info(adp, M_PC98_PEGC640x400, &info)) {
} else if (!vidd_get_info(adp, M_PC98_PEGC640x400, &info)) {
scrmode = M_PC98_PEGC640x400;
} else {
log(LOG_NOTICE,

View File

@ -148,13 +148,13 @@ gfb_nop(scr_stat *scp)
static void
gfb_clear(scr_stat *scp, int c, int attr)
{
(*vidsw[scp->sc->adapter]->clear)(scp->sc->adp);
vidd_clear(scp->sc->adp);
}
static void
gfb_border(scr_stat *scp, int color)
{
(*vidsw[scp->sc->adapter]->set_border)(scp->sc->adp, color);
vidd_set_border(scp->sc->adp, color);
}
static void
@ -187,13 +187,13 @@ gfb_draw(scr_stat *scp, int from, int count, int flip)
n = (count / adp->va_info.vi_width) + 1;
/* Scroll to make room for new text rows... */
(*vidsw[scp->sc->adapter]->copy)(adp, n, 0, n);
vidd_copy(adp, n, 0, n);
#if 0
(*vidsw[scp->sc->adapter]->clear)(adp, n);
vidd_clear(adp, n);
#endif
/* Display new text rows... */
(*vidsw[scp->sc->adapter]->puts)(adp, from,
vidd_puts(adp, from,
(u_int16_t *)sc_vtb_pointer(&scp->vtb, from), count);
}
@ -212,11 +212,11 @@ gfb_draw(scr_stat *scp, int from, int count, int flip)
for (i = count; i-- > 0; ++from) {
c = sc_vtb_getc(&scp->vtb, from);
a = sc_vtb_geta(&scp->vtb, from) >> 8;
(*vidsw[scp->sc->adapter]->putc)(adp, from, c,
vidd_putc(adp, from, c,
(a >> 4) | ((a & 0xf) << 4));
}
else {
(*vidsw[scp->sc->adapter]->puts)(adp, from,
vidd_puts(adp, from,
(u_int16_t *)sc_vtb_pointer(&scp->vtb, from),
count);
}
@ -233,8 +233,8 @@ gfb_cursor_shape(scr_stat *scp, int base, int height, int blink)
scp->cursor_base = base;
scp->cursor_height = height;
#endif
(*vidsw[scp->sc->adapter]->set_hw_cursor_shape)(scp->sc->adp,
base, height, scp->font_size, blink);
vidd_set_hw_cursor_shape(scp->sc->adp, base, height, scp->font_size,
blink);
}
static int pxlblinkrate = 0;
@ -254,33 +254,29 @@ gfb_cursor(scr_stat *scp, int at, int blink, int on, int flip)
scp->status |= VR_CURSOR_BLINK;
if (on) {
scp->status |= VR_CURSOR_ON;
(*vidsw[adp->va_index]->set_hw_cursor)(adp,
at%scp->xsize,
at/scp->xsize);
vidd_set_hw_cursor(adp, at%scp->xsize, at/scp->xsize);
} else {
if (scp->status & VR_CURSOR_ON)
(*vidsw[adp->va_index]->set_hw_cursor)(adp, -1,
-1);
vidd_set_hw_cursor(adp, -1, -1);
scp->status &= ~VR_CURSOR_ON;
}
} else {
scp->status &= ~VR_CURSOR_BLINK;
if(on) {
scp->status |= VR_CURSOR_ON;
(*vidsw[scp->sc->adapter]->putc)(scp->sc->adp,
scp->cursor_oldpos,
vidd_putc(scp->sc->adp, scp->cursor_oldpos,
sc_vtb_getc(&scp->vtb, scp->cursor_oldpos),
sc_vtb_geta(&scp->vtb, scp->cursor_oldpos) >> 8);
a = sc_vtb_geta(&scp->vtb, at) >> 8;
c = sc_vtb_getc(&scp->vtb, at);
(*vidsw[scp->sc->adapter]->putc)(scp->sc->adp, at,
c, (a >> 4) | ((a & 0xf) << 4));
vidd_putc(scp->sc->adp, at, c,
(a >> 4) | ((a & 0xf) << 4));
scp->cursor_saveunder_attr = a;
scp->cursor_saveunder_char = c;
} else {
if (scp->status & VR_CURSOR_ON)
(*vidsw[scp->sc->adapter]->putc)(scp->sc->adp,
at, scp->cursor_saveunder_char,
vidd_putc(scp->sc->adp, at,
scp->cursor_saveunder_char,
scp->cursor_saveunder_attr);
scp->status &= ~VR_CURSOR_ON;
}
@ -300,22 +296,19 @@ gfb_cursor(scr_stat *scp, int at, int blink, int on, int flip)
if (on) {
if (!blink) {
scp->status |= VR_CURSOR_ON;
(*vidsw[adp->va_index]->set_hw_cursor)(adp,
at%scp->xsize, at/scp->xsize);
vidd_set_hw_cursor(adp, at%scp->xsize, at/scp->xsize);
} else if (++pxlblinkrate & 4) {
pxlblinkrate = 0;
scp->status ^= VR_CURSOR_ON;
if(scp->status & VR_CURSOR_ON)
(*vidsw[adp->va_index]->set_hw_cursor)(adp,
at%scp->xsize, at/scp->xsize);
vidd_set_hw_cursor(adp, at%scp->xsize,
at/scp->xsize);
else
(*vidsw[adp->va_index]->set_hw_cursor)(adp, -1,
-1);
vidd_set_hw_cursor(adp, -1, -1);
}
} else {
if (scp->status & VR_CURSOR_ON)
(*vidsw[adp->va_index]->set_hw_cursor)(adp,
at%scp->xsize, at/scp->xsize);
vidd_set_hw_cursor(adp, at%scp->xsize, at/scp->xsize);
scp->status &= ~VR_CURSOR_ON;
}
if (blink)
@ -344,16 +337,16 @@ static void
gfb_mouse(scr_stat *scp, int x, int y, int on)
{
#ifdef __sparc64__
(*vidsw[scp->sc->adapter]->putm)(scp->sc->adp, x, y,
mouse_pointer, on ? 0xffffffff : 0x0, 22, 12);
vidd_putm(scp->sc->adp, x, y, mouse_pointer,
on ? 0xffffffff : 0x0, 22, 12);
#else
int i, pos;
if (on) {
/* Display the mouse pointer image... */
(*vidsw[scp->sc->adapter]->putm)(scp->sc->adp, x, y,
mouse_pointer, 0xffffffff, 16, 8);
vidd_putm(scp->sc->adp, x, y, mouse_pointer,
0xffffffff, 16, 8);
} else {
/*

View File

@ -234,7 +234,7 @@ vga_txtclear(scr_stat *scp, int c, int attr)
static void
vga_txtborder(scr_stat *scp, int color)
{
(*vidsw[scp->sc->adapter]->set_border)(scp->sc->adp, color);
vidd_set_border(scp->sc->adp, color);
}
static void
@ -270,9 +270,8 @@ vga_txtcursor_shape(scr_stat *scp, int base, int height, int blink)
scp->curs_attr.base = base;
scp->curs_attr.height = height;
#endif
(*vidsw[scp->sc->adapter]->set_hw_cursor_shape)(scp->sc->adp,
base, height,
scp->font_size, blink);
vidd_set_hw_cursor_shape(scp->sc->adp, base, height,
scp->font_size, blink);
}
static void
@ -312,8 +311,7 @@ draw_txtcharcursor(scr_stat *scp, int at, u_short c, u_short a, int flip)
font[i] ^= 0xff;
}
/* XXX */
(*vidsw[sc->adapter]->load_font)(sc->adp, 0, h, 8, font,
sc->cursor_char, 1);
vidd_load_font(sc->adp, 0, h, 8, font, sc->cursor_char, 1);
sc_vtb_putc(&scp->scr, at, sc->cursor_char, a);
} else
#endif /* SC_NO_FONT_LOADING */
@ -348,13 +346,11 @@ vga_txtcursor(scr_stat *scp, int at, int blink, int on, int flip)
scp->status |= VR_CURSOR_BLINK;
if (on) {
scp->status |= VR_CURSOR_ON;
(*vidsw[adp->va_index]->set_hw_cursor)(adp,
at%scp->xsize,
at/scp->xsize);
vidd_set_hw_cursor(adp, at%scp->xsize,
at/scp->xsize);
} else {
if (scp->status & VR_CURSOR_ON)
(*vidsw[adp->va_index]->set_hw_cursor)(adp,
-1, -1);
vidd_set_hw_cursor(adp, -1, -1);
scp->status &= ~VR_CURSOR_ON;
}
} else {
@ -438,8 +434,7 @@ draw_txtmouse(scr_stat *scp, int x, int y)
while (!(inb(crtc_addr + 6) & 0x08)) /* idle */ ;
#endif
c = scp->sc->mouse_char;
(*vidsw[scp->sc->adapter]->load_font)(scp->sc->adp, 0, 32, 8, font_buf,
c, 4);
vidd_load_font(scp->sc->adp, 0, 32, 8, font_buf, c, 4);
sc_vtb_putc(&scp->scr, pos, c, sc_vtb_geta(&scp->scr, pos));
/* FIXME: may be out of range! */
@ -627,7 +622,7 @@ vga_pxlborder_planar(scr_stat *scp, int color)
int y;
int i;
(*vidsw[scp->sc->adapter]->set_border)(scp->sc->adp, color);
vidd_set_border(scp->sc->adp, color);
outw(GDCIDX, 0x0005); /* read mode 0, write mode 0 */
outw(GDCIDX, 0x0003); /* data rotate/function select */
@ -1250,7 +1245,7 @@ vga_pxlmouse_planar(scr_stat *scp, int x, int y, int on)
static void
vga_grborder(scr_stat *scp, int color)
{
(*vidsw[scp->sc->adapter]->set_border)(scp->sc->adp, color);
vidd_set_border(scp->sc->adp, color);
}
#endif

View File

@ -142,7 +142,7 @@ sc_set_text_mode(scr_stat *scp, struct tty *tp, int mode, int xsize, int ysize,
int error;
int s;
if ((*vidsw[scp->sc->adapter]->get_info)(scp->sc->adp, mode, &info))
if (vidd_get_info(scp->sc->adp, mode, &info))
return ENODEV;
/* adjust argument values */
@ -261,7 +261,7 @@ sc_set_graphics_mode(scr_stat *scp, struct tty *tp, int mode)
int error;
int s;
if ((*vidsw[scp->sc->adapter]->get_info)(scp->sc->adp, mode, &info))
if (vidd_get_info(scp->sc->adp, mode, &info))
return ENODEV;
/* stop screen saver, etc */
@ -332,7 +332,7 @@ sc_set_pixel_mode(scr_stat *scp, struct tty *tp, int xsize, int ysize,
int error;
int s;
if ((*vidsw[scp->sc->adapter]->get_info)(scp->sc->adp, scp->mode, &info))
if (vidd_get_info(scp->sc->adp, scp->mode, &info))
return ENODEV; /* this shouldn't happen */
/* adjust argument values */
@ -472,7 +472,7 @@ sc_set_pixel_mode(scr_stat *scp, struct tty *tp, int xsize, int ysize,
#define fb_ioctl(a, c, d) \
(((a) == NULL) ? ENODEV : \
(*vidsw[(a)->va_index]->ioctl)((a), (c), (caddr_t)(d)))
vidd_ioctl((a), (c), (caddr_t)(d)))
int
sc_vid_ioctl(struct tty *tp, u_long cmd, caddr_t data, int flag, struct thread *td)
@ -723,12 +723,12 @@ sc_vid_ioctl(struct tty *tp, u_long cmd, caddr_t data, int flag, struct thread *
#endif
#ifndef SC_NO_PALETTE_LOADING
load_palette(adp, scp->sc->palette);
vidd_load_palette(adp, scp->sc->palette);
#endif
#ifndef PC98
/* move hardware cursor out of the way */
(*vidsw[adp->va_index]->set_hw_cursor)(adp, -1, -1);
vidd_set_hw_cursor(adp, -1, -1);
#endif
/* FALLTHROUGH */
@ -780,7 +780,7 @@ sc_vid_ioctl(struct tty *tp, u_long cmd, caddr_t data, int flag, struct thread *
if (scp == scp->sc->cur_scp) {
set_mode(scp);
#ifndef SC_NO_PALETTE_LOADING
load_palette(adp, scp->sc->palette);
vidd_load_palette(adp, scp->sc->palette);
#endif
}
sc_clear_screen(scp);

View File

@ -71,7 +71,7 @@ snake_saver(video_adapter_t *adp, int blank)
if (blanked <= 0) {
sc_vtb_clear(&scp->scr, sc->scr_map[0x20],
(FG_LIGHTGREY | BG_BLACK) << 8);
(*vidsw[adp->va_index]->set_hw_cursor)(adp, -1, -1);
vidd_set_hw_cursor(adp, -1, -1);
sc_set_border(scp, 0);
dirx = (scp->xpos ? 1 : -1);
diry = (scp->ypos ?

View File

@ -85,7 +85,7 @@ star_saver(video_adapter_t *adp, int blank)
/* clear the screen and set the border color */
sc_vtb_clear(&scp->scr, sc->scr_map[0x20],
(FG_LIGHTGREY | BG_BLACK) << 8);
(*vidsw[adp->va_index]->set_hw_cursor)(adp, -1, -1);
vidd_set_hw_cursor(adp, -1, -1);
sc_set_border(scp, 0);
blanked = TRUE;
for(i=0; i<NUM_STARS; i++) {

View File

@ -369,7 +369,7 @@ sc_attach_unit(int unit, int flags)
#ifdef SC_PIXEL_MODE
if ((sc->config & SC_VESA800X600)
&& ((*vidsw[sc->adapter]->get_info)(sc->adp, M_VESA_800x600, &info) == 0)) {
&& (vidd_get_info(sc->adp, M_VESA_800x600, &info) == 0)) {
#ifdef DEV_SPLASH
if (sc->flags & SC_SPLASH_SCRN)
splash_term(sc->adp);
@ -2053,7 +2053,7 @@ set_scrn_saver_mode(scr_stat *scp, int mode, u_char *pal, int border)
scp->status |= GRAPHICS_MODE;
#ifndef SC_NO_PALETTE_LOADING
if (pal != NULL)
load_palette(scp->sc->adp, pal);
vidd_load_palette(scp->sc->adp, pal);
#endif
sc_set_border(scp, border);
return 0;
@ -2091,7 +2091,7 @@ restore_scrn_saver_mode(scr_stat *scp, int changemode)
}
if (set_mode(scp) == 0) {
#ifndef SC_NO_PALETTE_LOADING
load_palette(scp->sc->adp, scp->sc->palette);
vidd_load_palette(scp->sc->adp, scp->sc->palette);
#endif
--scrn_blanked;
splx(s);
@ -2495,7 +2495,7 @@ exchange_scr(sc_softc_t *sc)
sc_set_cursor_image(scp);
#ifndef SC_NO_PALETTE_LOADING
if (ISGRAPHSC(sc->old_scp))
load_palette(sc->adp, sc->palette);
vidd_load_palette(sc->adp, sc->palette);
#endif
sc_set_border(scp, scp->border);
@ -2740,8 +2740,8 @@ scinit(int unit, int flags)
#endif
/* extract the hardware cursor location and hide the cursor for now */
(*vidsw[sc->adapter]->read_hw_cursor)(sc->adp, &col, &row);
(*vidsw[sc->adapter]->set_hw_cursor)(sc->adp, -1, -1);
vidd_read_hw_cursor(sc->adp, &col, &row);
vidd_set_hw_cursor(sc->adp, -1, -1);
/* set up the first console */
sc->first_vty = unit*MAXCONS;
@ -2843,7 +2843,7 @@ scinit(int unit, int flags)
#endif /* !SC_NO_FONT_LOADING */
#ifndef SC_NO_PALETTE_LOADING
save_palette(sc->adp, sc->palette);
vidd_save_palette(sc->adp, sc->palette);
#endif
#ifdef DEV_SPLASH
@ -2889,7 +2889,7 @@ scterm(int unit, int flags)
#if 0 /* XXX */
/* move the hardware cursor to the upper-left corner */
(*vidsw[sc->adapter]->set_hw_cursor)(sc->adp, 0, 0);
vidd_set_hw_cursor(sc->adp, 0, 0);
#endif
/* release the keyboard and the video card */
@ -3023,7 +3023,7 @@ init_scp(sc_softc_t *sc, int vty, scr_stat *scp)
scp->sc = sc;
scp->status = 0;
scp->mode = sc->initial_mode;
(*vidsw[sc->adapter]->get_info)(sc->adp, scp->mode, &info);
vidd_get_info(sc->adp, scp->mode, &info);
if (info.vi_flags & V_INFO_GRAPHICS) {
scp->status |= GRAPHICS_MODE;
scp->xpixel = info.vi_width;
@ -3437,7 +3437,7 @@ scmmap(struct cdev *dev, vm_offset_t offset, vm_paddr_t *paddr, int nprot)
scp = sc_get_stat(dev);
if (scp != scp->sc->cur_scp)
return -1;
return (*vidsw[scp->sc->adapter]->mmap)(scp->sc->adp, offset, paddr, nprot);
return vidd_mmap(scp->sc->adp, offset, paddr, nprot);
}
static int
@ -3497,7 +3497,7 @@ set_mode(scr_stat *scp)
video_info_t info;
/* reject unsupported mode */
if ((*vidsw[scp->sc->adapter]->get_info)(scp->sc->adp, scp->mode, &info))
if (vidd_get_info(scp->sc->adp, scp->mode, &info))
return 1;
/* if this vty is not currently showing, do nothing */
@ -3505,7 +3505,7 @@ set_mode(scr_stat *scp)
return 0;
/* setup video hardware for the given mode */
(*vidsw[scp->sc->adapter]->set_mode)(scp->sc->adp, scp->mode);
vidd_set_mode(scp->sc->adp, scp->mode);
scp->rndr->init(scp);
#ifndef __sparc64__
sc_vtb_init(&scp->scr, VTB_FRAMEBUFFER, scp->xsize, scp->ysize,
@ -3562,8 +3562,7 @@ sc_load_font(scr_stat *scp, int page, int size, int width, u_char *buf,
sc = scp->sc;
sc->font_loading_in_progress = TRUE;
(*vidsw[sc->adapter]->load_font)(sc->adp, page, size, width, buf, base,
count);
vidd_load_font(sc->adp, page, size, width, buf, base, count);
sc->font_loading_in_progress = FALSE;
}
@ -3575,15 +3574,14 @@ sc_save_font(scr_stat *scp, int page, int size, int width, u_char *buf,
sc = scp->sc;
sc->font_loading_in_progress = TRUE;
(*vidsw[sc->adapter]->save_font)(sc->adp, page, size, width, buf, base,
count);
vidd_save_font(sc->adp, page, size, width, buf, base, count);
sc->font_loading_in_progress = FALSE;
}
void
sc_show_font(scr_stat *scp, int page)
{
(*vidsw[scp->sc->adapter]->show_font)(scp->sc->adp, page);
vidd_show_font(scp->sc->adp, page);
}
#endif /* !SC_NO_FONT_LOADING */

View File

@ -47,7 +47,7 @@
#define SET_ORIGIN(adp, o) do { \
int oo = o; \
if (oo != last_origin) \
set_origin(adp, last_origin = oo); \
vidd_set_win_org(adp, last_origin = oo); \
} while (0)
static u_char *vid;
@ -103,15 +103,15 @@ warp_saver(video_adapter_t *adp, int blank)
/* switch to graphics mode */
if (blanked <= 0) {
pl = splhigh();
set_video_mode(adp, scrmode);
load_palette(adp, warp_pal);
set_border(adp, 0);
vidd_set_mode(adp, scrmode);
vidd_load_palette(adp, warp_pal);
vidd_set_border(adp, 0);
blanked++;
vid = (u_char *)adp->va_window;
banksize = adp->va_window_size;
bpsl = adp->va_line_width;
splx(pl);
(*vidsw[adp->va_index]->clear)(adp);
vidd_clear(adp);
}
/* update display */
warp_update(adp);
@ -127,11 +127,11 @@ warp_init(video_adapter_t *adp)
video_info_t info;
int i;
if (!get_mode_info(adp, M_VGA_CG320, &info)) {
if (!vidd_get_info(adp, M_VGA_CG320, &info)) {
scrmode = M_VGA_CG320;
} else if (!get_mode_info(adp, M_PC98_PEGC640x480, &info)) {
} else if (!vidd_get_info(adp, M_PC98_PEGC640x480, &info)) {
scrmode = M_PC98_PEGC640x480;
} else if (!get_mode_info(adp, M_PC98_PEGC640x400, &info)) {
} else if (!vidd_get_info(adp, M_PC98_PEGC640x400, &info)) {
scrmode = M_PC98_PEGC640x400;
} else {
log(LOG_NOTICE,

View File

@ -360,13 +360,13 @@ xbr_draw(scr_stat* scp, int from, int count, int flip)
if (!flip) {
/* Normal printing */
(*vidsw[scp->sc->adapter]->puts)(adp, from, (uint16_t*)sc_vtb_pointer(&scp->vtb, from), count);
vidd_puts(adp, from, (uint16_t*)sc_vtb_pointer(&scp->vtb, from), count);
} else {
/* This is for selections and such: invert the color attribute */
for (i = count; i-- > 0; ++from) {
c = sc_vtb_getc(&scp->vtb, from);
a = sc_vtb_geta(&scp->vtb, from) >> 8;
(*vidsw[scp->sc->adapter]->putc)(adp, from, c, (a >> 4) | ((a & 0xf) << 4));
vidd_putc(adp, from, c, (a >> 4) | ((a & 0xf) << 4));
}
}
}
@ -414,7 +414,7 @@ xbr_set_mouse(scr_stat* scp)
static void
xbr_draw_mouse(scr_stat* scp, int x, int y, int on)
{
(*vidsw[scp->sc->adapter]->putm)(scp->sc->adp, x, y, mouse_pointer, 0xffffffff, 16, 8);
vidd_putm(scp->sc->adp, x, y, mouse_pointer, 0xffffffff, 16, 8);
}
@ -624,8 +624,7 @@ xboxfb_puts(video_adapter_t *adp, vm_offset_t off, u_int16_t *s, int len)
int i;
for (i = 0; i < len; i++) {
(*vidsw[adp->va_index]->putc)(adp, off + i, s[i] & 0xff,
(s[i] & 0xff00) >> 8);
vidd_putc(adp, off + i, s[i] & 0xff, (s[i] & 0xff00) >> 8);
}
return (0);
}

View File

@ -150,7 +150,7 @@ isavga_attach(device_t dev)
#endif /* FB_INSTALL_CDEV */
if (0 && bootverbose)
(*vidsw[sc->adp->va_index]->diag)(sc->adp, bootverbose);
vidd_diag(sc->adp, bootverbose);
#if 0 /* experimental */
device_add_child(dev, "fb", -1);
@ -176,7 +176,7 @@ isavga_suspend(device_t dev)
free(sc->state_buf, M_TEMP);
sc->state_buf = NULL;
}
nbytes = (*vidsw[sc->adp->va_index]->save_state)(sc->adp, NULL, 0);
nbytes = vidd_save_state(sc->adp, NULL, 0);
if (nbytes <= 0)
return (0);
sc->state_buf = malloc(nbytes, M_TEMP, M_NOWAIT | M_ZERO);
@ -184,8 +184,7 @@ isavga_suspend(device_t dev)
return (0);
if (bootverbose)
device_printf(dev, "saving %d bytes of video state\n", nbytes);
if ((*vidsw[sc->adp->va_index]->save_state)(sc->adp, sc->state_buf,
nbytes) != 0) {
if (vidd_save_state(sc->adp, sc->state_buf, nbytes) != 0) {
device_printf(dev, "failed to save state (nbytes=%d)\n",
nbytes);
free(sc->state_buf, M_TEMP);
@ -201,8 +200,7 @@ isavga_resume(device_t dev)
sc = device_get_softc(dev);
if (sc->state_buf != NULL) {
if ((*vidsw[sc->adp->va_index]->load_state)(sc->adp,
sc->state_buf) != 0)
if (vidd_load_state(sc->adp, sc->state_buf) != 0)
device_printf(dev, "failed to reload state\n");
free(sc->state_buf, M_TEMP);
sc->state_buf = NULL;

View File

@ -177,7 +177,7 @@ gdc_attach(device_t dev)
#endif /* FB_INSTALL_CDEV */
if (bootverbose)
(*vidsw[sc->adp->va_index]->diag)(sc->adp, bootverbose);
vidd_diag(sc->adp, bootverbose);
return 0;
}
@ -1147,7 +1147,7 @@ gdc_set_mode(video_adapter_t *adp, int mode)
bcopy(&info, &adp->va_info, sizeof(info));
/* move hardware cursor out of the way */
(*vidsw[adp->va_index]->set_hw_cursor)(adp, -1, -1);
vidd_set_hw_cursor(adp, -1, -1);
return 0;
}
@ -1374,7 +1374,7 @@ packed_fill(video_adapter_t *adp, int val)
length = adp->va_line_width*adp->va_info.vi_height;
while (length > 0) {
l = imin(length, adp->va_window_size);
(*vidsw[adp->va_index]->set_win_org)(adp, at);
vidd_set_win_org(adp, at);
bzero_io(adp->va_window, l);
length -= l;
at += l;

View File

@ -106,7 +106,7 @@ gdc_txtclear(scr_stat *scp, int c, int attr)
static void
gdc_txtborder(scr_stat *scp, int color)
{
(*vidsw[scp->sc->adapter]->set_border)(scp->sc->adp, color);
vidd_set_border(scp->sc->adp, color);
}
static void
@ -142,9 +142,8 @@ gdc_txtcursor_shape(scr_stat *scp, int base, int height, int blink)
if (base < 0 || base >= scp->font_size)
return;
/* the caller may set height <= 0 in order to disable the cursor */
(*vidsw[scp->sc->adapter]->set_hw_cursor_shape)(scp->sc->adp,
base, height,
scp->font_size, blink);
vidd_set_hw_cursor_shape(scp->sc->adp, base, height, scp->font_size,
blink);
}
static void
@ -152,12 +151,11 @@ gdc_txtcursor(scr_stat *scp, int at, int blink, int on, int flip)
{
if (on) {
scp->status |= VR_CURSOR_ON;
(*vidsw[scp->sc->adapter]->set_hw_cursor)(scp->sc->adp,
at%scp->xsize, at/scp->xsize);
vidd_set_hw_cursor(scp->sc->adp, at%scp->xsize,
at/scp->xsize);
} else {
if (scp->status & VR_CURSOR_ON)
(*vidsw[scp->sc->adapter]->set_hw_cursor)(scp->sc->adp,
-1, -1);
vidd_set_hw_cursor(scp->sc->adp, -1, -1);
scp->status &= ~VR_CURSOR_ON;
}
}
@ -204,7 +202,7 @@ gdc_txtmouse(scr_stat *scp, int x, int y, int on)
static void
gdc_grborder(scr_stat *scp, int color)
{
(*vidsw[scp->sc->adapter]->set_border)(scp->sc->adp, color);
vidd_set_border(scp->sc->adp, color);
}
#endif /* SC_NO_MODE_CHANGE */