diff options
| author | Bruce Evans <bde@FreeBSD.org> | 2017-04-19 18:35:34 +0000 |
|---|---|---|
| committer | Bruce Evans <bde@FreeBSD.org> | 2017-04-19 18:35:34 +0000 |
| commit | 35ffedf6bc928af536f21b37b67ff809759b33de (patch) | |
| tree | 70430f81cf1da94e31354d74b574886774b8979c /sys/dev/syscons | |
| parent | 9dc5d76e101ecd7e0f57ed9f80b80084a8d631dc (diff) | |
Notes
Diffstat (limited to 'sys/dev/syscons')
| -rw-r--r-- | sys/dev/syscons/scvgarndr.c | 52 |
1 files changed, 6 insertions, 46 deletions
diff --git a/sys/dev/syscons/scvgarndr.c b/sys/dev/syscons/scvgarndr.c index 133d043679089..ccf76e7b382d1 100644 --- a/sys/dev/syscons/scvgarndr.c +++ b/sys/dev/syscons/scvgarndr.c @@ -1127,10 +1127,6 @@ vga_pxlmouse_direct(scr_stat *scp, int x, int y, int on) int line_width, pixel_size; int xend, yend; int i, j; - uint32_t *u32; - uint16_t *u16; - uint8_t *u8; - int bpp; mdp = (scp->font_size < 14) ? &mouse9x13 : &mouse10x16; @@ -1144,11 +1140,6 @@ vga_pxlmouse_direct(scr_stat *scp, int x, int y, int on) yend <= (scp->yoff + scp->ysize) * scp->font_size) return; - bpp = scp->sc->adp->va_info.vi_depth; - - if ((bpp == 16) && (scp->sc->adp->va_info.vi_pixel_fsizes[1] == 5)) - bpp = 15; - line_width = scp->sc->adp->va_line_width; pixel_size = scp->sc->adp->va_info.vi_pixel_size; @@ -1165,43 +1156,12 @@ vga_pxlmouse_direct(scr_stat *scp, int x, int y, int on) do_on: p = scp->sc->adp->va_window + y * line_width + x * pixel_size; - - for (i = 0; i < (yend - y); i++) { - for (j = (xend - x - 1); j >= 0; j--) { - switch (bpp) { - case 32: - u32 = (uint32_t*)(p + j * pixel_size); - if (mdp->md_interior[i] & (1 << (15 - j))) - writel(u32, vga_palette32[15]); - else if (mdp->md_border[i] & (1 << (15 - j))) - writel(u32, 0); - break; - case 16: - u16 = (uint16_t*)(p + j * pixel_size); - if (mdp->md_interior[i] & (1 << (15 - j))) - writew(u16, vga_palette16[15]); - else if (mdp->md_border[i] & (1 << (15 - j))) - writew(u16, 0); - break; - case 15: - u16 = (uint16_t*)(p + j * pixel_size); - if (mdp->md_interior[i] & (1 << (15 - j))) - writew(u16, vga_palette15[15]); - else if (mdp->md_border[i] & (1 << (15 - j))) - writew(u16, 0); - break; - case 8: - u8 = (uint8_t*)(p + j * pixel_size); - if (mdp->md_interior[i] & (1 << (15 - j))) - writeb(u8, 15); - else if (mdp->md_border[i] & (1 << (15 - j))) - writeb(u8, 0); - break; - } - } - - p += line_width; - } + for (i = 0; i < yend - y; i++, p += line_width) + for (j = xend - x - 1; j >= 0; j--) + if (mdp->md_interior[i] & (1 << (15 - j))) + DRAW_PIXEL(scp, p + j * pixel_size, 15); + else if (mdp->md_border[i] & (1 << (15 - j))) + DRAW_PIXEL(scp, p + j * pixel_size, 0); } static void |
