diff options
| author | Philip Paeps <philip@FreeBSD.org> | 2007-02-21 12:27:12 +0000 |
|---|---|---|
| committer | Philip Paeps <philip@FreeBSD.org> | 2007-02-21 12:27:12 +0000 |
| commit | 0754972c5c72adff156ec736d2f4ebc57776e1ae (patch) | |
| tree | 8f2df30a1e9c79b8e09d7dc29d55cee093923b96 /sys/dev/syscons/warp | |
| parent | 9fad4c2a128e0db65a32641d74158bb00269b082 (diff) | |
Notes
Diffstat (limited to 'sys/dev/syscons/warp')
| -rw-r--r-- | sys/dev/syscons/warp/warp_saver.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/sys/dev/syscons/warp/warp_saver.c b/sys/dev/syscons/warp/warp_saver.c index 050790d8a391..aba2439534c3 100644 --- a/sys/dev/syscons/warp/warp_saver.c +++ b/sys/dev/syscons/warp/warp_saver.c @@ -44,6 +44,12 @@ #define SPP 15 #define STARS (SPP * (1 + 2 + 4 + 8)) +#define SET_ORIGIN(adp, o) do { \ + int oo = o; \ + if (oo != last_origin) \ + set_origin(adp, last_origin = oo); \ + } while (0) + static u_char *vid; static int banksize, scrmode, bpsl, scrw, scrh; static int blanked; @@ -61,6 +67,7 @@ static void warp_update(video_adapter_t *adp) { int i, j, k, n, o, p; + int last_origin = -1; for (i = 1, k = 0, n = SPP*8; i < 5; i++, n /= 2) { for (j = 0; j < n; j++, k++) { @@ -70,7 +77,7 @@ warp_update(video_adapter_t *adp) p -= banksize; o += banksize; } - set_origin(adp, o); + SET_ORIGIN(adp, o); vid[p] = 0; star[k] += i; if (star[k] > scrw*scrh) @@ -81,7 +88,7 @@ warp_update(video_adapter_t *adp) p -= banksize; o += banksize; } - set_origin(adp, o); + SET_ORIGIN(adp, o); vid[p] = i; } } |
