diff options
author | Jason Wright <jason@cvs.openbsd.org> | 2002-07-29 06:21:46 +0000 |
---|---|---|
committer | Jason Wright <jason@cvs.openbsd.org> | 2002-07-29 06:21:46 +0000 |
commit | 3ff00de11210d1677661ac08374576efb7929d81 (patch) | |
tree | 59973af1f383a0fadc47532cd839a702ca01c6f9 /sys/arch/sparc64/dev | |
parent | 13100cce8e39a0fdc161b78d162cf5b159ec0e82 (diff) |
use ROP_OLD for VSCROLL, with this, vertical scroll (copyrows) works (and it's -fast-)
Diffstat (limited to 'sys/arch/sparc64/dev')
-rw-r--r-- | sys/arch/sparc64/dev/creator.c | 10 | ||||
-rw-r--r-- | sys/arch/sparc64/dev/creatorreg.h | 3 |
2 files changed, 7 insertions, 6 deletions
diff --git a/sys/arch/sparc64/dev/creator.c b/sys/arch/sparc64/dev/creator.c index a7c8109b1b8..71074217fde 100644 --- a/sys/arch/sparc64/dev/creator.c +++ b/sys/arch/sparc64/dev/creator.c @@ -1,4 +1,4 @@ -/* $OpenBSD: creator.c,v 1.18 2002/07/29 05:53:12 jason Exp $ */ +/* $OpenBSD: creator.c,v 1.19 2002/07/29 06:21:45 jason Exp $ */ /* * Copyright (c) 2002 Jason L. Wright (jason@thought.net) @@ -148,9 +148,7 @@ creator_attach(struct creator_softc *sc) sc->sc_rasops.ri_hw = sc; sc->sc_rasops.ri_ops.eraserows = creator_ras_eraserows; sc->sc_rasops.ri_ops.erasecols = creator_ras_erasecols; -#if 0 sc->sc_rasops.ri_ops.copyrows = creator_ras_copyrows; -#endif creator_ras_init(sc); creator_stdscreen.nrows = sc->sc_rasops.ri_rows; @@ -451,7 +449,8 @@ void creator_ras_fill(sc) struct creator_softc *sc; { - creator_ras_fifo_wait(sc, 1); + creator_ras_fifo_wait(sc, 2); + FBC_WRITE(sc, FFB_FBC_ROP, FBC_ROP_NEW); FBC_WRITE(sc, FFB_FBC_DRAWOP, FBC_DRAWOP_RECTANGLE); creator_ras_wait(sc); } @@ -484,7 +483,8 @@ creator_ras_copyrows(cookie, src, dst, n) src *= ri->ri_font->fontheight; dst *= ri->ri_font->fontheight; - creator_ras_fifo_wait(sc, 7); + creator_ras_fifo_wait(sc, 8); + FBC_WRITE(sc, FFB_FBC_ROP, FBC_ROP_OLD | (FBC_ROP_OLD << 8)); FBC_WRITE(sc, FFB_FBC_DRAWOP, FBC_DRAWOP_VSCROLL); FBC_WRITE(sc, FFB_FBC_BY, ri->ri_yorigin + src); FBC_WRITE(sc, FFB_FBC_BX, ri->ri_xorigin); diff --git a/sys/arch/sparc64/dev/creatorreg.h b/sys/arch/sparc64/dev/creatorreg.h index 1b90199419b..77003eb8692 100644 --- a/sys/arch/sparc64/dev/creatorreg.h +++ b/sys/arch/sparc64/dev/creatorreg.h @@ -1,4 +1,4 @@ -/* $OpenBSD: creatorreg.h,v 1.4 2002/07/28 17:07:33 jason Exp $ */ +/* $OpenBSD: creatorreg.h,v 1.5 2002/07/29 06:21:45 jason Exp $ */ /* * Copyright (c) 2002 Jason L. Wright (jason@thought.net) @@ -198,6 +198,7 @@ #define FBC_PPC_CS_CONST 0x00000003 /* color source ??? */ #define FBC_ROP_NEW 0x83 +#define FBC_ROP_OLD 0x85 #define FBC_UCSR_FIFO_MASK 0x00000fff #define FBC_UCSR_FB_BUSY 0x01000000 |