History log of /src/sys/arch/luna68k/dev/omrasops.c |
Revision | | Date | Author | Comments |
1.27 |
| 20-Sep-2024 |
isaki | s/speficically/specifically/ in comment. (Sync with OpenBSD/luna88k)
|
1.26 |
| 15-Jan-2023 |
tsutsui | TAB/space/indent cleanup.
|
1.25 |
| 03-Oct-2022 |
tsutsui | Remove global hwplanecount and use ri_depth in struct rasops instead.
No functional change.
|
1.24 |
| 01-Oct-2022 |
tsutsui | Explicitly limit a number of rasops rows per size of rowattr[].
|
1.23 |
| 25-Sep-2022 |
isaki | lunafb: Improve drawing performance using VRAM ROP features. - Drawing a character on 4bpp normally needs 4 times writes, but by using VRAM ROP actively, it can be reduced to write only once. The same goes for copyrows. If the whole row consists of only two colors (one foreground and one background), it can be copied by reading once and writing once, regardless of the number of planes. Only if the row consists of more than two colors, it will be copied plane by plane. - On 8bpp board, it acts as 4bpp (16 colors). - On 4bpp board on the real LUNA-I(68030/20MHz), monochrome scroll is about 4 times faster even without asm. Using asm improves it by additional 5% (asm is enabled by default). - By tsutsui@-san's report, even color scroll is about about 2 times faster on his 8bpp board on the real LUNA-II(68040). This was first developped by Y.Sugahara back in late 2019, and was modified a lot by me in 2022. http://mail-index.netbsd.org/port-luna68k/2022/09/23/msg000072.html
|
1.22 |
| 25-Sep-2022 |
isaki | Cosmetic changes. Fix a typo in comment.
|
1.21 |
| 31-Jul-2019 |
rin | G/C ri_delta.
XXX Bump kernel version after other changes for struct rasops_info.
|
1.20 |
| 06-Jun-2018 |
maya | branches: 1.20.2; 1.20.6; Remove duplicate ;
|
1.19 |
| 04-Oct-2014 |
tsutsui | branches: 1.19.18; Pull LUNA's framebuffer improvements by Kenji Aoyama from OpenBSD/luna88k.
http://marc.info/?l=openbsd-cvs&m=141199909120631&w=2 >> Use raster(logic) operation, or ROP, function on LUNA frame buffer. >> It makes 4bpp wscons putchar ~20% faster.
This Makes 4bpp wscons putchar ~30% on LUNA-II.
Also use the similar ROP in 1bpp putchar and cursor functions and the 1bpp putchar is also ~5% faster. While here, reduce diffs from OpenBSD a bit.
Tested on all 1bpp/4bpp/8bpp framebuffers.
|
1.18 |
| 28-Sep-2014 |
tsutsui | Put dumb optimizations to avoid conditionals in putchar drawing loops.
~10% improvements of time cat results on LUNA-II 8bpp framebuffer.
|
1.17 |
| 28-Sep-2014 |
tsutsui | Pull readability changes from OpenBSD/luna88k.
- prepare and use unpack_attr() function to get fg and bg from attribute - use proper variable names to clarify meanings
Tested on LUNA-II with 8bpp framebuffer.
|
1.16 |
| 28-Dec-2013 |
tsutsui | branches: 1.16.4; Add preleminary support of 4bpp LUNA framebuffer.
Changes details: - prepare and switch 4bpp rasops functions that read/write all 4 planes and also handle both fg and bg colors - make 1bpp ops use first plane on write rather than common bitmap plane (which is prepared for multiple plane write with raster ops) - prepare 4bpp allocattr function to handle ANSI 16 color text - split omrasops_init() function for each bpp - move struct hwcmap from softc to hwdevconfig to sync palette values on initialization - allow mmap(2) against all available planes
Now we can use ANSI 16 color text console and also can demonstrate mlterm-fb with color sixel graphics and wallpaper. XXX: Xserver needs much more work.
|
1.15 |
| 14-Dec-2013 |
tsutsui | Make omrasops copycols() op work even if columns are not 32 bit aligned.
This means command line editing works properly in any cases.
The bitcopy strategies for 1bpp copycols() op are taken from recently fixed MI sys/dev/rasops/rasops_bitops.h. GETBITS() and PUTBITS() m68k asm macro are taken from hp300.
Tested on both 1bpp (on LUNA-II) and 4bpp (on LUNA) framebuffers.
|
1.14 |
| 02-Dec-2013 |
tsutsui | Fix off by one in copyrows() backward case.
|
1.13 |
| 20-Jul-2012 |
tsutsui | branches: 1.13.2; 1.13.4; Switch luna68k wscons framebuffer driver to using rasops(9) APIs instead of deprecated rcons(4). This allows "options FONT_foo" in kernel config files. Mostly taken from OpenBSD/luna88k, but unnecessary MI rasops(9) stuff is omitted since omrasops.c has own raster wsdisplay_emulops functions. Tested on LUNA with 4bpp fb and LUNA-II with 1bpp fb.
|
1.12 |
| 16-Jul-2012 |
tsutsui | Fix typo in comment. From OpenBSD/luna88k.
|
1.11 |
| 27-Jul-2011 |
tsutsui | branches: 1.11.2; 1.11.8; KNF, use uintNN_t, tab/space cosmetics etc.
|
1.10 |
| 16-Jul-2011 |
tsutsui | Revive NetBSD/luna68k.
Even after almost a lost decade since NetBSD/luna68k was switched to using ELF format by default back in 2001, actually only one fix (bus.h) is required for a GENERIC kernel itself to get multiuser login: prompt on a real hardware. Hurrahhh!!!
Demonstrated with a working Xorg mono server on the NetBSD booth at Open Source Conference 2011 Kansai @ Kyoto: http://www.ospn.jp/osc2011-kyoto/
"Very impressed," commented by Tomoko YOSHIDA, Program Committee Chair of the Conference, and some other OMRON guys.
Special Thanks to Tadashi Okamura, for providing a working SX-9100/DT "LUNA" for this mission.
Changes details:
sys/arch/luna68k/include/bus.h - handle stride properly even on multi and region ops for MI spc(4) - also fix stride handling of (currently unused) 2 and 4 byte ops
sys/arch/luna68k/conf/Makefile.luna68k sys/arch/luna68k/conf/kern.ldscript.head sys/arch/luna68k/conf/kern.ldscript.tail - build a faked a.out kernel using elf2aout(8) tool and a linker script derived from cats and shark for the LUNA firmware that loads a.out binary directly via network or from a UNIOS partition on a local disk
sys/arch/luna68k/dev/omrasops.c sys/arch/luna68k/dev/omron_rfont.h - use the original OMRON font derived from 4.4BSD-Lite/luna68k rather than gallant19 which is used on Sun workstations (XXX omrasops.c should be rewritten to use generic wsfont(4))
distrib/luna68k/* distrib/utils/sysinst/arch/luna68k/* etc/etc.luna68k/MAKEDEV.conf etc/etc.luna68k/Makefile.inc sys/arch/luna68k/conf/INSTALL - build a ramdisk based INSTALL kernel with sysinst(8) for luna68k - also build an installation iso image for luna68k
sys/arch/luna68k/conf/GENERIC - enable SYSVSHM (and other SYSV*) options for Xorg server
More Xorg changes (which need some more cleanup) and isiboot.c fixes will come soon.
|
1.9 |
| 14-Mar-2009 |
dsl | ANSIfy another 1261 function definitions. The only ones left in sys are beyond by sed script! (or in sys/dist or sys/external) Mostly they have function pointer parameters.
|
1.8 |
| 14-Mar-2009 |
dsl | Change about 4500 of the K&R function definitions to ANSI ones. There are still about 1600 left, but they have ',' or /* ... */ in the actual variable definitions - which my awk script doesn't handle. There are also many that need () -> (void). (The script does handle misordered arguments.)
|
1.7 |
| 14-Mar-2009 |
dsl | Remove all the __P() from sys (excluding sys/dist) Diff checked with grep and MK1 eyeball. i386 and amd64 GENERIC and sys still build.
|
1.6 |
| 28-Apr-2008 |
martin | branches: 1.6.8; 1.6.14; Remove clause 3 and 4 from TNF licenses
|
1.5 |
| 04-Mar-2007 |
tsutsui | branches: 1.5.40; 1.5.42; 1.5.44; Use (uint8_t *) for framebuffer address.
|
1.4 |
| 04-Mar-2007 |
christos | Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
1.3 |
| 04-Jul-2002 |
junyoung | branches: 1.3.22; 1.3.60; alloc_attr -> allocattr
Approved by Matthias Drochner.
|
1.2 |
| 30-May-2002 |
thorpej | Statements must follow labels.
|
1.1 |
| 05-Jan-2000 |
nisimura | branches: 1.1.6; 1.1.10; 1.1.14; 1.1.22; Introduce NetBSD/luna68k port into CVS repository.
|
1.1.22.2 |
| 16-Jul-2002 |
gehenna | catch up with -current.
|
1.1.22.1 |
| 14-Jul-2002 |
gehenna | catch up with -current.
|
1.1.14.2 |
| 01-Aug-2002 |
nathanw | Catch up to -current.
|
1.1.14.1 |
| 20-Jun-2002 |
nathanw | Catch up to -current.
|
1.1.10.2 |
| 06-Sep-2002 |
jdolecek | sync kqueue branch with HEAD
|
1.1.10.1 |
| 23-Jun-2002 |
jdolecek | catch up with -current on kqueue branch
|
1.1.6.2 |
| 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago A i386 GENERIC kernel compiles without the siop, ahc and bha drivers (will be updated later). i386 IDE/ATAPI and ncr work, as well as sparc/esp_sbus. alpha should work as well (untested yet). siop, ahc and bha will be updated once I've updated the branch to current -current, as well as machine-dependant code.
|
1.1.6.1 |
| 05-Jan-2000 |
bouyer | file omrasops.c was added on branch thorpej_scsipi on 2000-11-20 20:10:26 +0000
|
1.3.60.1 |
| 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.3.22.1 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.5.44.2 |
| 04-May-2009 |
yamt | sync with head.
|
1.5.44.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.5.42.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.5.40.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.6.14.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.6.8.1 |
| 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.11.8.3 |
| 09-Nov-2014 |
msaitoh | Pull up following revision(s) (requested by tsutsui in ticket #1182): sys/arch/luna68k/conf/files.luna68k: revision 1.24 sys/arch/luna68k/conf/GENERIC: revision 1.113 via patch sys/arch/luna68k/dev/omrasops.c: revision 1.17-1.19 sys/arch/luna68k/dev/lunaws.c: revision 1.30 sys/arch/luna68k/dev/omkbdmap.c: revision 1.1-1.2 sys/arch/luna68k/dev/omkbdmap.h: revision 1.1 sys/arch/luna68k/dev/lunafb.c: revision 1.31-1.36 sys/arch/luna68k/dev/omrasopsvar.h: revision 1.3 - Setup Bt458 color palette to support ANSI color text on 8bpp framebuffer. Mostly taken from OpenBSD/luna88k. Also sync some comments. Tested on LUNA-II, and mlterm-fb with 8bpp wallpaper also works fine. Thanks to Kenji Aoyama (OpenBSD/luna88k maintainer) for providing his spare 8bpp board. - Use C99 struct initialization for wsdisplay_accessops. - Use kmem(9) instead of malloc(9). - Pull LUNA's keyboard driver changes from OpenBSD/luna88k. Now LUNA's keyboard works on Xorg server without tweaks by xmodmap(1) etc. - split keyboard mapping definitions to new files, omkbdmap.[ch] - add WSDISPLAY_COMPAT_RAWKBD support (actually the name is wrong; it doesn't emit raw keycode but converts MD code into PS/2 one as "raw keycode on x86" for Xorg server) - allow to enter into ddb by CTRL+ALT(zenmen)+ESC - remove unnecessary return values - Add consistent prefix to a softc member name. - Implement WSDISPLAYIO_SMODE ioctl for proper mmap and colormap handling. Tested on LUNA with 4bpp framebuffer. - allow mmap framebuffer memories only in WSDISPLAYIO_DUMBFB - initialize palette for ANSI text colors on back to WSDISPLAYIO_MODE_EMUL - Pull readability changes from OpenBSD/luna88k. Tested on LUNA-II with 8bpp framebuffer. - prepare and use unpack_attr() function to get fg and bg from attribute - use proper variable names to clarify meanings - Put dumb optimizations to avoid conditionals in putchar drawing loops. ~10% improvements of time cat results on LUNA-II 8bpp framebuffer. - Fix unintended RCS Id substitution. - Pull LUNA's framebuffer improvements by Kenji Aoyama from OpenBSD/luna88k. This Makes 4bpp wscons putchar ~30% on LUNA-II. http://marc.info/?l=openbsd-cvs&m=141199909120631&w=2 > Use raster(logic) operation, or ROP, function on LUNA frame buffer. > It makes 4bpp wscons putchar ~20% faster. Also use the similar ROP in 1bpp putchar and cursor functions and the 1bpp putchar is also ~5% faster. While here, reduce diffs from OpenBSD a bit. Tested on all 1bpp/4bpp/8bpp framebuffers. - Add options WSDISPLAY_COMPAT_RAWKBD for Xorg server.
|
1.11.8.2 |
| 12-Jan-2014 |
bouyer | Pull up following revision(s) (requested by tsutsui in ticket #1005): sys/arch/luna68k/dev/omrasops.c: revision 1.15 sys/arch/luna68k/dev/omrasops.c: revision 1.16 sys/arch/luna68k/dev/lunafb.c: revision 1.27 sys/arch/luna68k/dev/lunafb.c: revision 1.28 sys/arch/luna68k/dev/lunafb.c: revision 1.29 sys/arch/luna68k/dev/lunafb.c: revision 1.30 sys/arch/luna68k/dev/omrasopsvar.h: revision 1.2 sys/arch/luna68k/dev/omrasops.c: revision 1.14 Properly initialize the palette for while on black even on 1bpp framebuffer. Preparing for demonstration in Open Source Conference 2013 Kyoto. Fix off by one in copyrows() backward case. Make omrasops copycols() op work even if columns are not 32 bit aligned. This means command line editing works properly in any cases. The bitcopy strategies for 1bpp copycols() op are taken from recently fixed MI sys/dev/rasops/rasops_bitops.h. GETBITS() and PUTBITS() m68k asm macro are taken from hp300. Tested on both 1bpp (on LUNA-II) and 4bpp (on LUNA) framebuffers. Initialize capabilities in struct wsscreen_descr per omrasops settings. Now REVERSE characters are drawn properly. Add preleminary support of 4bpp LUNA framebuffer. Changes details: - prepare and switch 4bpp rasops functions that read/write all 4 planes and also handle both fg and bg colors - make 1bpp ops use first plane on write rather than common bitmap plane (which is prepared for multiple plane write with raster ops) - prepare 4bpp allocattr function to handle ANSI 16 color text - split omrasops_init() function for each bpp - move struct hwcmap from softc to hwdevconfig to sync palette values on initialization - allow mmap(2) against all available planes Now we can use ANSI 16 color text console and also can demonstrate mlterm-fb with color sixel graphics and wallpaper. XXX: Xserver needs much more work. Pull a fix of Bt458 (8bpp framebuffer) initialization from OpenBSD/luna88k. http://marc.info/?l=openbsd-cvs&m=138838884202196 > Correct initialization of Bt458, used in LUNA's 8bpp frame buffer. > > According to the manual, the address register does not automatically > increment when we access to the control registers. Also we disable > overlay planes, because we do not use them.
|
1.11.8.1 |
| 25-Jul-2012 |
martin | Pull up following revision(s) (requested by tsutsui in ticket #444): sys/arch/luna68k/conf/GENERIC: revision 1.99 sys/arch/luna68k/dev/lunafb.c: revision 1.26 sys/arch/luna68k/luna68k/locore.s: revision 1.48 sys/arch/luna68k/dev/lunaws.c: revision 1.24 sys/arch/luna68k/dev/omron_rfont.h: file removal sys/arch/luna68k/dev/omrasopsvar.h: revision 1.1 sys/arch/luna68k/dev/omrasops.c: revision 1.12 sys/arch/luna68k/dev/omrasops.c: revision 1.13 sys/arch/luna68k/conf/INSTALL: revision 1.6 Use & not && to mask bits. From OpenBSD/luna88k Fix typo in comment. From OpenBSD/luna88k. Switch luna68k wscons framebuffer driver to using rasops(9) APIs instead of deprecated rcons(4). This allows "options FONT_foo" in kernel config files. Mostly taken from OpenBSD/luna88k, but unnecessary MI rasops(9) stuff is omitted since omrasops.c has own raster wsdisplay_emulops functions. Tested on LUNA with 4bpp fb and LUNA-II with 1bpp fb. Make reboot(2) actually work (don't access %sp after MMU is turned off). Also cleanup spaces and #if 0'ed code. Tested on both LUNA and LUNA-II. Should be pulled up to netbsd-6.
|
1.11.2.2 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.11.2.1 |
| 30-Oct-2012 |
yamt | sync with head
|
1.13.4.1 |
| 18-May-2014 |
rmind | sync with head
|
1.13.2.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.13.2.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.16.4.1 |
| 05-Oct-2014 |
martin | Pull up following revision(s) (requested by tsutsui in ticket #130): sys/arch/luna68k/dev/omrasops.c: revision 1.17 sys/arch/luna68k/dev/omrasops.c: revision 1.18 sys/arch/luna68k/dev/omrasops.c: revision 1.19 sys/arch/luna68k/dev/omrasopsvar.h: revision 1.3 sys/arch/luna68k/dev/lunafb.c: revision 1.36 Pull readability changes from OpenBSD/luna88k. - prepare and use unpack_attr() function to get fg and bg from attribute - use proper variable names to clarify meanings Tested on LUNA-II with 8bpp framebuffer. Put dumb optimizations to avoid conditionals in putchar drawing loops. ~10% improvements of time cat results on LUNA-II 8bpp framebuffer. Pull LUNA's framebuffer improvements by Kenji Aoyama from OpenBSD/luna88k. http://marc.info/?l=openbsd-cvs&m=141199909120631&w=2 > Use raster(logic) operation, or ROP, function on LUNA frame buffer. > It makes 4bpp wscons putchar ~20% faster. This Makes 4bpp wscons putchar ~30% on LUNA-II. Also use the similar ROP in 1bpp putchar and cursor functions and the 1bpp putchar is also ~5% faster. While here, reduce diffs from OpenBSD a bit. Tested on all 1bpp/4bpp/8bpp framebuffers.
|
1.19.18.1 |
| 25-Jun-2018 |
pgoyette | Sync with HEAD
|
1.20.6.1 |
| 15-Aug-2019 |
martin | Pull up following revision(s) (requested by rin in ticket #56):
sys/dev/rasops/rasops.c: revision 1.120 sys/dev/rasops/rasops.h: revision 1.40 sys/dev/rasops/rasops.c: revision 1.121 sys/dev/rasops/rasops.h: revision 1.41 sys/dev/rasops/rasops.c: revision 1.122 sys/dev/rasops/rasops.h: revision 1.42 sys/dev/rasops/rasops.h: revision 1.43 sys/dev/rasops/rasops.h: revision 1.44 sys/dev/rasops/rasops.h: revision 1.45 sys/dev/rasops/rasops.h: revision 1.46 sys/dev/rasops/rasops.h: revision 1.47 sys/dev/rasops/rasops.h: revision 1.48 sys/dev/rasops/rasops32.c: revision 1.40 sys/dev/rasops/rasops32.c: revision 1.41 sys/dev/rasops/rasops32.c: revision 1.42 sys/dev/rasops/rasops32.c: revision 1.43 sys/dev/rasops/rasops32.c: revision 1.44 sys/dev/rasops/rasops32.c: revision 1.45 sys/dev/rasops/rasops32.c: revision 1.46 sys/dev/rasops/rasops1-4_putchar.h: revision 1.1 sys/dev/rasops/rasops1-4_putchar.h: revision 1.2 sys/dev/rasops/rasops1-4_putchar.h: revision 1.3 sys/dev/rasops/rasops1_putchar_width.h: revision 1.3 sys/dev/rasops/rasops1_putchar_width.h: revision 1.4 sys/dev/rasops/rasops1_putchar_width.h: revision 1.5 sys/dev/rasops/rasops1_putchar_width.h: revision 1.6 sys/dev/rasops/README: revision 1.7 sys/dev/rasops/rasops_putchar_aa.h: revision 1.5 sys/dev/rasops/rasops_putchar_aa.h: revision 1.6 sys/dev/rasops/rasops8.c: revision 1.45 sys/dev/rasops/rasops8.c: revision 1.46 sys/dev/rasops/rasops8.c: revision 1.47 sys/dev/rasops/rasops24.c: revision 1.40 sys/dev/rasops/rasops8.c: revision 1.48 sys/dev/rasops/rasops24.c: revision 1.41 sys/dev/rasops/rasops8.c: revision 1.49 sys/dev/rasops/rasops24.c: revision 1.42 sys/dev/rasops/rasops24.c: revision 1.43 sys/dev/rasops/rasops24.c: revision 1.44 sys/dev/rasops/rasops_masks.c: revision 1.10 doc/CHANGES: revision 1.2566 sys/dev/rasops/rasops24.c: revision 1.45 doc/CHANGES: revision 1.2567 sys/dev/rasops/rasops24.c: revision 1.46 sys/dev/rasops/rasops24.c: revision 1.47 sys/dev/rasops/rasops24.c: revision 1.48 sys/dev/rasops/rasops24.c: revision 1.49 sys/dev/rasops/rasops_bitops.h: revision 1.19 sys/dev/rasops/rasops_putchar_aa.h: file removal sys/dev/wscons/wsdisplay_vcons.c: revision 1.40 sys/dev/rasops/rasops8.c: revision 1.50 sys/dev/rasops/rasops8.c: revision 1.51 sys/dev/rasops/rasops24.c: revision 1.50 sys/arch/luna68k/dev/omrasops.c: revision 1.21 sys/dev/rasops/rasops_bitops.h: revision 1.20 sys/dev/wsfb/genfb.c: revision 1.68 sys/dev/rasops/rasops_bitops.h: revision 1.21 sys/dev/wsfb/genfb.c: revision 1.69 sys/dev/rasops/rasops_putchar_width.h: revision 1.10 sys/dev/rasops/rasops_bitops.h: revision 1.22 sys/dev/rasops/rasops_putchar_width.h: revision 1.11 sys/dev/rasops/rasops_bitops.h: revision 1.23 sys/dev/rasops/rasops_putchar_width.h: revision 1.12 sys/dev/rasops/rasops_bitops.h: revision 1.24 sys/dev/rasops/rasops_putchar_width.h: revision 1.13 sys/dev/rasops/rasops_bitops.h: revision 1.25 sys/dev/rasops/rasops_putchar_width.h: revision 1.14 sys/dev/rasops/rasops_putchar_width.h: revision 1.15 sys/dev/rasops/rasops1.c: revision 1.32 sys/dev/rasops/rasops1.c: revision 1.33 sys/dev/rasops/rasops1.c: revision 1.34 sys/dev/rasops/rasops1.c: revision 1.35 sys/dev/rasops/rasops1.c: revision 1.36 sys/dev/rasops/rasops1.c: revision 1.37 sys/dev/rasops/rasops4.c: revision 1.21 sys/dev/rasops/rasops4.c: revision 1.22 sys/dev/rasops/rasops4.c: revision 1.23 sys/dev/rasops/rasops4.c: revision 1.24 sys/dev/rasops/rasops4.c: revision 1.25 sys/dev/rasops/rasops4.c: revision 1.26 sys/dev/rasops/rasops4.c: revision 1.27 sys/dev/rasops/rasops4.c: revision 1.28 sys/dev/wsfb/genfb.c: revision 1.70 sys/dev/rasops/rasops2.c: revision 1.27 sys/dev/rasops/rasops2.c: revision 1.28 share/man/man9/rasops.9: revision 1.18 sys/dev/rasops/rasops.c: revision 1.102 sys/dev/rasops/rasops2.c: revision 1.29 share/man/man9/rasops.9: revision 1.19 sys/dev/rasops/rasops.c: revision 1.103 sys/dev/rasops/rasops.c: revision 1.104 sys/dev/rasops/rasops.c: revision 1.105 sys/dev/rasops/rasops.c: revision 1.106 sys/dev/rasops/rasops.c: revision 1.107 sys/dev/rasops/rasops_putchar.h: revision 1.6 sys/dev/rasops/rasops.c: revision 1.108 sys/dev/rasops/rasops_putchar.h: revision 1.7 sys/dev/rasops/rasops.c: revision 1.109 sys/dev/rasops/rasops_putchar.h: revision 1.8 sys/dev/rasops/rasops2.c: revision 1.30 sys/dev/rasops/rasops2.c: revision 1.31 sys/dev/rasops/rasops15.c: revision 1.32 sys/dev/rasops/rasops2.c: revision 1.32 sys/dev/rasops/rasops15.c: revision 1.33 sys/dev/rasops/rasops2.c: revision 1.33 sys/dev/rasops/rasops15.c: revision 1.34 sys/dev/rasops/rasops15.c: revision 1.35 sys/dev/rasops/rasops15.c: revision 1.36 sys/dev/rasops/rasops.c: revision 1.110 sys/dev/rasops/rasops15.c: revision 1.37 sys/dev/rasops/rasops.c: revision 1.111 sys/dev/rasops/rasops15.c: revision 1.38 sys/dev/rasops/rasops.c: revision 1.112 sys/dev/rasops/rasops15.c: revision 1.39 sys/dev/rasops/rasops.c: revision 1.113 sys/dev/rasops/rasops.c: revision 1.114 sys/dev/rasops/rasops.c: revision 1.115 sys/dev/rasops/rasops_masks.h: revision 1.9 sys/dev/rasops/rasops.c: revision 1.116 sys/dev/rasops/rasops.c: revision 1.117 sys/dev/rasops/rasops.c: revision 1.118 sys/dev/rasops/rasops.c: revision 1.119 sys/dev/rasops/rasops.h: revision 1.39
Misc clean-up's: - protect private stuff in rasops.h by _RASOPS_PRIVATE - staticify rasops_copycols() and rasops_isgray[] - G/C unused extern int cold Switch to per-device stamp, and retire stamp_mutex.
Provide buffer capable of single-row pixels in order to make things simpler.
Factor out copy-paste. No functional changes. When font is switched, not only putchar, but also other ri_ops can be changed by backend driver, e.g., see rasops1.c: https://nxr.netbsd.org/xref/src/sys/dev/rasops/rasops1.c#58 4 is 1 << 2, not 1 << 3...
Fix erasecols and do_cursor for font width >= 32 bits. Also, some cosmetic clean-up's.
Oops, for rasops_copycols(), we cannot use memmove even if src == dst. On the other hand, memmove is safe for rasops_copyrows(). Fix unaligned writes to buffer, that are introduced in 1.105: http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/dev/rasops/rasops.c#rev1.105
Support font width 32 on monochrome screen.
Remove duplicate substitution. Style. No functional changes.
Correct copy count. This affects ``left-to-right'' copy for region including word boundary.
Fix a bug in shadow fb support for copycols on 1, 2, and 4bpp screen, which was introduced in 1.18: http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/dev/rasops/rasops_bitops.h#rev1.18
Add general putchar functions for 2 and 4bpp. Note that 1bpp continues to use its local version in rasops1.c, which is much faster and simpler.
Cosmetic changes. No functional changes.
Reflect reality.
Notify size of shadow framebuffer if enabled.
Fix unaligned word write's to buffer, introduced in rev 1.42: http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/dev/rasops/rasops24.c#rev1.42
Real fix for 24-bpp color: - When centering screen, locate effective base address of framebuffer to both word and 24-bit color boundary. - Consistently convert ri_devcmap to ``big endian'' if not RI_BSWAP.
Also, fix possible bug for 15/16-bpp with RI_BSWAP (not tested).
Protect rasops_copy{rows,cols}() by _RASOPS_PRIVATE.
Use _KERNEL_OPT.
Simplify calculation for 12-byte alignment. No functional changes.
Fix black color-attribution for depths 2 and 4.
Depth 2 is monochrome. IMO, it is impossible to support ANSI colors on 2-bpp display; fore- and background can be same value even if they are different colors logically.
Fix a critical bug for rasops_copyrows() introduced in rev. 1.90: http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/dev/rasops/rasops.c#rev1.90 When src < dst, we have to copy backward.
Simplify rasops_do_cursor(): - Use static masks similar to that used in rasops_bitops.h, rather than generating them on the fly. - Use pointer for proper type to avoid unnecessary casts.
Use "hp" instead of "hrp" consistently with other files. No functional changes.
Stop allocating ri_buf and ri_stamp dynamically. As commented in rasops.h, it is not safe to use kmem_alloc(9) in rasops_init(); rasops routines can be used for early putchar, which means that UVM is not fully initialized.
Should fix a problem reported by macallan: http://mail-index.netbsd.org/tech-kern/2019/08/02/msg025327.html
Instead of using ri_buf, inline function rasops_memcpy32() is introduced to fill 32bit data efficiently.
Instead of using ri_stamp (per device stamp), stamp_ri is introduced to distinguish for which device stamp is calculated.
Oops, revert an unintentional change for now.
If RI_CLEAR is set, do not forget to clear real framebuffer.
Modify struct rasops_info again (ride 9.99.4 bump). - remove ri_buf and friends. - remove ri_stamp and frieds. - introduce ri_ul, which will be used for scaling underline with font.
Also add hack for ri_ul; adjust its size to obsoleted member, ri_delta, which was only used rasops routines internally. Now, size and offsets of all members of struct rasops_info become same with netbsd-9, -8, and -7, again. So we can safelly pull up fixes to any release branches!
Scaling dimensions of underline by font height.
Currently, - offset of underline is fixed to 1-row from bottom of characters, and - height of underline is fixed to 1. Both are good for standard 8x16 fonts. However, it is too thin for larger fonts, especially when used on display of high resolution. Also, 1-row offset of underline is ugly for small fonts, e.g., spleen5x8. Therefore, adjust offset and height as, - no changes for standard 16-height fonts. - scaling by font height for larger fonts. - set offset to zero for fonts of height smaller than 16.
Merge rasops_putchar_aa.h into rasops_putchar.h.
Support scaling underline dimensions by font height.
Separate general putchar for 1-4bpp from rasops_bitops: - Support anti-aliasing for 2bpp, which works perfectly! - Support scaling underline dimensions with font height.
We support anti-aliasing for depth 2. Use switch appropriately. - Stop showing struct rasops_info; readers can read the header itself. - Correct description for optimized font widths. - Remove strange blank line.
Try to improve formatting and naration.
Make rasops_erase{rows,cols}() public again; hp300/diofb uses them. Pointed out by martin.
When legacy Apple 4-bpp color palette is used, make green dark so that kernel messages are printed nicely on white background.
Fix color range overflow; we cannot make bright colors more brighter.
Correctly check whether character is in font in rasops_mapchar(). Also, make sure that in putchar functions for completeness.
Fix bug introduced in rev. 1.69: http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/dev/wsfb/genfb.c#rev1.69 is_bgr should be initialized to false. Otherwise, color becomes strange for depths 24 and 32 unless backend explicitly set "is_bgr" property.
Set 4-bpp devcmap in a similar manner to non-RGB case of 8-bpp. No functional changes since this is not in use (4-bpp is monochrome).
Misc style clean up's. - Introduce and use proper macros. - Use not ambiguous variable names. - Unify similar functions as possible as I can. - G/C unused headers. - Use #include <dev/rasops/foo.h> instead of "foo.h"
No particular functional changes intended.
My work for rasops(9) was finished (hopefully).
I will send pull-up request for netbsd-9, if there are no new failures reported within few days.
Fix format in order not to confuse changes2html script. Minor improvements of wording for my entry.
When using stamp, drop attributions other than back and foreground colors so that stamp is not updated unnecessarily.
|
1.20.2.1 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|