History log of /src/sys/dev/rasops |
Revision | Date | Author | Comments |
1.2 | 11-Apr-2001 |
jdolecek | Only install headers which are actually used by our userland. This saves about 2.2MB under /usr/include/dev/. Discussed on tech-kern@ recently.
I HOPE to get the list right. The headers I left in are ones used for MI tools and those whose usage I discovered by grep over tree sources. Feel free to put needed includes back in if you encounter anything which should not be removed from lists.
|
1.1 | 13-Apr-1999 |
ad | branches: 1.1.2; 1.1.4; 1.1.16; Initial import of 'rasops', the new raster operations set for wscons/rcons.
|
1.1.16.1 | 28-Feb-2002 |
nathanw | Catch up to -current.
|
1.1.4.1 | 21-Apr-2001 |
bouyer | Sync with HEAD
|
1.1.2.1 | 21-Jun-1999 |
thorpej | Sync w/ -current.
|
1.7 | 02-Aug-2019 |
rin | Reflect reality.
|
1.6 | 02-Dec-2013 |
tsutsui | branches: 1.6.30; 1.6.36; Fix 1 bpp rasops copycols() op:
- fix inverted shift direction in MBL() and MBR() macro in BE case (used by GETBITS() and PUTBITS() in copycols() function in rasops_bitops.h) - make all bitmask values unsigned and use proper uint32_t types for bitmap variables (to avoid arithmetic right shift) - fix various botches in right-to-left copy op (logic is taken from hp300)
Tested on bwtwo(4) on NetBSD/sparc.
|
1.5 | 07-Jan-2008 |
bjs | branches: 1.5.44; 1.5.54; 1.5.60; The stamp mutex is not unsafe, so remove this comment so people don't get the wrong idea. ok ad@
|
1.4 | 07-Oct-1999 |
ad | branches: 1.4.50; 1.4.108; 1.4.114; 1.4.122; Note some ideas from Toru Nishimura.
|
1.3 | 24-Aug-1999 |
ad | branches: 1.3.2; - Change the semantics of rasops_init slightly - Re-name rasops_setfont to rasops_reconfig - Add some new run-time 'features' - Bring all run-time 'features' under control of rasops_info::ri_flg - Some cosmetic changes
|
1.2 | 26-Apr-1999 |
ad | branches: 1.2.2; Innumerable fixes and improvements. README contains list of remaining bugs that need to be squashed.
|
1.1 | 13-Apr-1999 |
ad | Initial import of 'rasops', the new raster operations set for wscons/rcons.
|
1.2.2.1 | 21-Jun-1999 |
thorpej | Sync w/ -current.
|
1.3.2.1 | 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.4.122.1 | 08-Jan-2008 |
bouyer | Sync with HEAD
|
1.4.114.1 | 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.4.108.1 | 09-Jan-2008 |
matt | sync with HEAD
|
1.4.50.1 | 21-Jan-2008 |
yamt | sync with head
|
1.5.60.1 | 18-May-2014 |
rmind | sync with head
|
1.5.54.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.5.44.1 | 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.6.36.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.6.30.1 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.13 | 11-Jan-2012 |
macallan | make rasops_init()'s font selection code a bit less boneheaded by: - actually trying to pick a font which gets as close as possible to the requested terminal size - accepting 0,0 as 'use system default' which can be changed by options RASOPS_DEFAULT_WIDTH=100 options RASOPS_DEFAULT_HEIGHT=30 default is 80x25 - putting alpha and bitmap fonts in the same list and making wsfont_find() aware of wether we support alpha fonts or not - if supported, prefer alpha fonts over otherwise equally suitable bitmap fonts
|
1.12 | 02-Feb-2007 |
ober | branches: 1.12.80; 1.12.84; Updates to allow Zaurus screen to rotate 90 degrees to a usable state with the keyboard. Patch from peter@ copied from OpenBSD. Feedback and OK from matt@
|
1.11 | 11-Dec-2005 |
christos | branches: 1.11.20; merge ktrace-lwp.
|
1.10 | 27-Feb-2005 |
perry | branches: 1.10.4; nuke trailing whitespace
|
1.9 | 28-Nov-2001 |
lukem | branches: 1.9.16; 1.9.24; 1.9.26; - convert usage of "defopt" to "defflag" where the relevant option does not support a value (e.g., it's to be used as "options FOO" instead of "options FOO=xxx"). options that take a value were converted to defparam recently. - minor whitespace & formatting cleanups
|
1.8 | 15-Feb-2001 |
sato | branches: 1.8.2; 1.8.4; rasops4.c depend on rasops_masks.c
|
1.7 | 21-Jan-2001 |
takemura | Rasops supports 4bit depth.
|
1.6 | 20-Apr-2000 |
thorpej | Put the rasops attributes in conf/files so that everyone can run config(8) without pulling in files.rasops. There is prior art for this, e.g. audio.
|
1.5 | 23-Oct-1999 |
ad | - New option (RASOPS_SMALL) for the tight-fisted. - Don't use int32_t/u_int32_t unless we must. - Remove C++ single line comment delimeters that crept in. - Remove defs pertaining to byte granularity 'ragged-edge' bitmasks. - Move all declarations of per-depth initialization functions to rasops.h. - Other minor cleanup.
|
1.4 | 05-Jun-1999 |
pk | branches: 1.4.2; 1.4.4; 1.4.6; 1.4.8; `rasops_glue' is only here to force the header file's name hence it must be mentioned first in the expression.
Shudder..
|
1.3 | 02-Jun-1999 |
christos | Don't include rasops files unconditionally; only when we have rasterconsole or wsdisplay.
|
1.2 | 26-Apr-1999 |
ad | Innumerable fixes and improvements. README contains list of remaining bugs that need to be squashed.
|
1.1 | 13-Apr-1999 |
ad | Initial import of 'rasops', the new raster operations set for wscons/rcons.
|
1.4.8.1 | 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.4.6.1 | 15-Nov-1999 |
fvdl | Sync with -current
|
1.4.4.3 | 12-Mar-2001 |
bouyer | Sync with HEAD.
|
1.4.4.2 | 11-Feb-2001 |
bouyer | Sync with HEAD.
|
1.4.4.1 | 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.4.2.1 | 21-Jun-1999 |
thorpej | Sync w/ -current.
|
1.8.4.1 | 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.8.2.1 | 08-Jan-2002 |
nathanw | Catch up to -current.
|
1.9.26.1 | 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.9.24.1 | 29-Apr-2005 |
kent | sync with -current
|
1.9.16.1 | 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.10.4.1 | 26-Feb-2007 |
yamt | sync with head.
|
1.11.20.1 | 09-Feb-2007 |
ad | Sync with HEAD.
|
1.12.84.1 | 18-Feb-2012 |
mrg | merge to -current.
|
1.12.80.1 | 17-Apr-2012 |
yamt | sync with head
|
1.128 | 15-May-2022 |
uwe | rasops: fix automagic box chars for stride > 1 on little endian
This makes DEC line drawing (acsc) work correctly for "iso" fonts of large sizes, e.g. spleen16x32 on x86.
|
1.127 | 15-May-2022 |
uwe | rasops_mapchar: cosmetics, same object code.
Don't hide the important function call inside an if condition. Don't reuse a variable, changing what it means in the middle of an expression.
|
1.126 | 15-May-2022 |
uwe | rasops: make autogenerated box drawing chars actually used
Fix mapchar to use PICK_FONT() to match what putchar does. Otherwise putchar will never get to see the glyph codes for the autogenerated box drawing chars.
|
1.125 | 24-Dec-2021 |
jmcneill | wsfb: Prefer wide fonts when EDID data is available.
To give us a better chance of picking a readable font, prefer fonts that will render at least 3mm wide instead of picking the font that will be closest to that size.
|
1.124 | 04-Oct-2021 |
rin | rasops_reconfig: Do not abort even if font stride is not supported by rasops_make_box_chars_*() functions; Stop using ri_optfont instead.
XXX Add rasops_make_box_chars_24().
|
1.123 | 02-Jul-2020 |
rin | Remove pointless cast; dp is already uint32_t *. No functional changes intended.
|
1.122 | 10-Aug-2019 |
rin | 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.
|
1.121 | 10-Aug-2019 |
rin | 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).
|
1.120 | 09-Aug-2019 |
rin | Correctly check whether character is in font in rasops_mapchar(). Also, make sure that in putchar functions for completeness.
|
1.119 | 09-Aug-2019 |
rin | Fix color range overflow; we cannot make bright colors more brighter.
|
1.118 | 09-Aug-2019 |
rin | When legacy Apple 4-bpp color palette is used, make green dark so that kernel messages are printed nicely on white background.
|
1.117 | 07-Aug-2019 |
rin | 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.
|
1.116 | 07-Aug-2019 |
rin | If RI_CLEAR is set, do not forget to clear real framebuffer.
|
1.115 | 07-Aug-2019 |
rin | 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.
|
1.114 | 07-Aug-2019 |
rin | 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.
|
1.113 | 07-Aug-2019 |
rin | 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.
|
1.112 | 07-Aug-2019 |
rin | 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.
|
1.111 | 07-Aug-2019 |
rin | Fix black color-attribution for depths 2 and 4.
|
1.110 | 07-Aug-2019 |
rin | Simplify calculation for 12-byte alignment. No functional changes.
|
1.109 | 07-Aug-2019 |
rin | Use _KERNEL_OPT.
|
1.108 | 02-Aug-2019 |
rin | 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).
|
1.107 | 02-Aug-2019 |
rin | 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
|
1.106 | 02-Aug-2019 |
rin | Oops, for rasops_copycols(), we cannot use memmove even if src == dst. On the other hand, memmove is safe for rasops_copyrows().
|
1.105 | 31-Jul-2019 |
rin | Provide buffer capable of single-row pixels in order to make things simpler.
XXX Bump kernel version for rasops_info later.
|
1.104 | 31-Jul-2019 |
rin | G/C ri_delta.
XXX Bump kernel version after other changes for struct rasops_info.
|
1.103 | 31-Jul-2019 |
rin | Switch to per-device stamp, and retire stamp_mutex.
XXX Bump kernel version after other changes for struct rasops_info.
|
1.102 | 31-Jul-2019 |
rin | 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
|
1.101 | 30-Jul-2019 |
rin | branches: 1.101.2; Try to improve performance when shadow framebuffer is present; Use block copy from shadow fb to real fb, instead of repeating the same operations to two fb's.
|
1.100 | 30-Jul-2019 |
rin | In rasops_copy{rows,cols}(), if src == dst, we have nothing to do. Otherwise, we can use memcpy safely instead of memmove.
|
1.99 | 30-Jul-2019 |
rin | Fix catastrophe when ri_emustride != ri_stride in rasops_copyrows().
|
1.98 | 30-Jul-2019 |
rin | Treat highlighted and reversed text in the same manner to xterm.
|
1.97 | 29-Jul-2019 |
rin | Hmmm, color was still strange for 24bpp on little endian machine, only when font width is 12.
We need to use different devcmap for that case, if we wish to share codes for other depths/font widths as possible as we can.
XXX What should we do for big endian? I have no big endian machines with 24bpp framebuffer...
|
1.96 | 29-Jul-2019 |
rin | Fix color on 24bpp screen for little endian.
|
1.95 | 29-Jul-2019 |
rin | Fix missing underlines on mono screen. Style.
|
1.94 | 28-Jul-2019 |
rin | Cast attr to uint32_t before right shift to avoid undefined behavior.
Also, misc style/cosmetic changes for clarity.
|
1.93 | 28-Jul-2019 |
martin | Free kmem_alloc'd memory with kmem_free
|
1.92 | 26-Jul-2019 |
rin | Put back byte-wise copy to stop using memcpy, which does not work for device memory on some platforms.
Pointed out by Jared, many thanks!
|
1.91 | 26-Jul-2019 |
rin | Add genfb(4) driver for mac68k grfbus. 1, 2, 4, 8, 15, and 32 color-depths are supported.
ANSI colors on console are functional for depth >= 4.
Graphic applications based on wsfb API should work, provided they can correctly handle fbi_fboffset and your color depth.
wsfb driver of Xorg 1.20 and mlterm-fb (framebuffer version of x11/mlterm) work fine for depth == 1 || depth >= 8.
For depth == 8 (256 colors), graphic applications require colormap callback, which is currently supported for some internal graphic adapters, and only Civic (found on Quadra AV series) was tested. Register definition and its usage are taken from Linux. You can easily support other adapters if Linux supports that.
Have fun, and any problem reports are welcomed!
|
1.90 | 26-Jul-2019 |
rin | Replace manually unrolled loops with memcpy/memmove or simple loops. Modern compilers are smart enough; there's no measurable changes in performance even on MC68040 with optimization level -Os.
Also, convert loop of byte-wise copy into memset.
|
1.89 | 26-Jul-2019 |
rin | Misc creen up for rasops.c:
- sort headers - return error value instead of panic - use uintptr_t for cast pointer to integer - use macros appropriately - use __func__ - some consistency check ifndef DEBUG - try to avoid undefined behaviors related to shift - convert malloc/free to kmem_alloc/kmem_free - convert MIN to uimin - style
|
1.88 | 25-Jul-2019 |
rin | Misc cleen up: - Make 32bit mask unsigned - DPRINTF --> __nothing ifndef DEBUG_RASOPS - "#ifdef DIAGNOSTIC if (x) panic(); #endif" --> KASSERT(!x); - KNF
No functional changes intended.
|
1.87 | 25-Jul-2019 |
rin | For kUBSan, avoid undefined behaviors even if harmless. No functional changes intended.
Requested by uwe.
|
1.86 | 24-Jul-2019 |
rin | Oops, revert unintentional changes.
|
1.85 | 24-Jul-2019 |
rin | Well, masks do not have to be updated every time in loop. Calculate them in advance even if it may be bogus.
|
1.84 | 24-Jul-2019 |
rin | Simplify logic and tiny clean-up.
|
1.83 | 24-Jul-2019 |
rin | Avoid shift-count overflow to fix strange cursor behaviors on amd64 when font width is odd.
|
1.82 | 24-Jul-2019 |
rin | Use unsigned integers for binary data storage. No functional changes intended.
|
1.81 | 24-Jul-2019 |
rin | Style: - u_char --> uint8_t - u_int*_t --> uint*_t
No functional changes.
|
1.80 | 21-Jul-2019 |
rin | Fix cursor movement for ri_xscale = 1, e.g., fontwidth = 8 and bpp = 1.
|
1.79 | 04-Dec-2018 |
mlelstv | rasops reused wscons attribute bits for internal control. - make upper 4 attribute bits available for such use - use wscons flag names instead of literal constants.
|
1.78 | 29-Nov-2018 |
macallan | rasops_do_cursor(): - simplify & sanitize the unaligned case - use only 32bit accesses ... no longer crash with odd sized fonts in 8bit
|
1.77 | 01-Jun-2017 |
chs | branches: 1.77.8; 1.77.10; remove checks for failure after memory allocation calls that cannot fail:
kmem_alloc() with KM_SLEEP kmem_zalloc() with KM_SLEEP percpu_alloc() pserialize_create() psref_class_create()
all of these paths include an assertion that the allocation has not failed, so callers should not assert that again.
|
1.76 | 12-May-2017 |
macallan | rasops_reconfig(): don't clear flags we won't set here
|
1.75 | 22-Apr-2017 |
macallan | branches: 1.75.2; add RI_PREFER_ALPHA flag, for drivers that can draw such fonts by hardware
|
1.74 | 23-Feb-2017 |
nonaka | reset ri->ri_hwbits too if RI_CFGDONE is set.
prevent ri->ri_hwbits from moving to center every time rasops_reconfig() is called when RI_CENTER is set.
|
1.73 | 18-Apr-2015 |
mlelstv | branches: 1.73.2; 1.73.4; add "best match" algorithm to wsfont and use this instead of a private function in rasops.
|
1.72 | 18-Aug-2014 |
riastradh | branches: 1.72.2; Don't leak f on failure. Noted by maxv@.
Compile-tested only, with zaurus.
|
1.71 | 19-Apr-2012 |
macallan | branches: 1.71.2; 1.71.14; add another convenience function: rasops_get_cmap() which returns either the ANSI map or an R3G3B2 map, depending on the rasops_info handed to it so drivers don't have to duplicate this particular code snippet
|
1.70 | 11-Jan-2012 |
macallan | branches: 1.70.2; 1.70.6; 1.70.8; make rasops_init()'s font selection code a bit less boneheaded by: - actually trying to pick a font which gets as close as possible to the requested terminal size - accepting 0,0 as 'use system default' which can be changed by options RASOPS_DEFAULT_WIDTH=100 options RASOPS_DEFAULT_HEIGHT=30 default is 80x25 - putting alpha and bitmap fonts in the same list and making wsfont_find() aware of wether we support alpha fonts or not - if supported, prefer alpha fonts over otherwise equally suitable bitmap fonts
|
1.69 | 04-Jan-2012 |
macallan | rasops8 expects the colour value replicated in every byte in devcmap[], so fix that for r3g3b2
|
1.68 | 28-Dec-2011 |
macallan | add a new flag for ri_flg to allow drivers to request an r3g3b2 devcmap in 8 bit colour. Drivers are still responsible to generate an appropriate colour map for the actual hardware. For use with alpha blending which needs some sort of 'true' colour.
|
1.67 | 22-Dec-2011 |
macallan | support anti-aliased fonts ( as in, pre-rendered alpha maps ), for now only in rasops32 although adding support in 15, 16 and 24 would be trivial. Enabled only if the driver explicitly requests it by setting the RI_ENABLE_ALPHA flag.
|
1.66 | 21-Jul-2010 |
tsutsui | branches: 1.66.8; 1.66.12; Fix typo in comment.
|
1.65 | 13-Jun-2010 |
tsutsui | Put underline properly (not upperline) on CCW screen. Tested on hpcarm WS003SH.
|
1.64 | 06-May-2010 |
macallan | Introduce a new flag for rasops_info to keep rasops_reconfig() from trying to allocate memory. Use this when calling rasops_reconfig() before it is safe to call kmem_alloc().
|
1.63 | 04-May-2010 |
macallan | autogenerate box drawing characters for fonts that don't have them, put them into an alternate font pointed at by the recently added mappings in wsfont, adapt all putchar() methods except the rotated ones to use them XXX no attempt has been made to make this work with rotation
|
1.62 | 17-Apr-2010 |
nonaka | Added Sharp W-ZERO3 series support.
|
1.61 | 21-Jan-2010 |
macallan | branches: 1.61.2; 1.61.4; make RI_CENTER and RI_FULLCLEAR work with a shadow framebuffer
|
1.60 | 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.59 | 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.58 | 28-Apr-2008 |
martin | branches: 1.58.8; 1.58.14; Remove clause 3 and 4 from TNF licenses
|
1.57 | 09-Dec-2007 |
jmcneill | branches: 1.57.10; 1.57.12; 1.57.14; Merge jmcneill-pm branch.
|
1.56 | 28-Jul-2007 |
mjf | branches: 1.56.4; 1.56.6; 1.56.14; 1.56.16; 1.56.18; Implement bounds checking in some places in display driver code to avoid the possibility of a local user panic.
|
1.55 | 02-Feb-2007 |
ober | branches: 1.55.6; 1.55.14; Updates to allow Zaurus screen to rotate 90 degrees to a usable state with the keyboard. Patch from peter@ copied from OpenBSD. Feedback and OK from matt@
|
1.54 | 16-Nov-2006 |
christos | branches: 1.54.2; 1.54.4; __unused removal on arguments; approved by core.
|
1.53 | 12-Oct-2006 |
christos | - sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
1.52 | 27-Feb-2006 |
jmcneill | branches: 1.52.14; 1.52.16; Fixup a performance problem in rasops_copyrows that I introduced during the shadowfb merge.
|
1.51 | 18-Feb-2006 |
jmcneill | Add shadow framebuffer support.
|
1.50 | 29-Jan-2006 |
dsl | branches: 1.50.2; 1.50.4; Make almost everything #include <sys/bswap.h> instead of <machine/bswap.h> The bswap.h and endian.h files are all rather incestuous, but I want to get the constant folding stuff into one place - sys/bswap.h
|
1.49 | 11-Dec-2005 |
christos | branches: 1.49.2; merge ktrace-lwp.
|
1.48 | 02-May-2005 |
macallan | branches: 1.48.2; fixed tab width and formatting
|
1.47 | 01-May-2005 |
macallan | made rasops_allocattr_color() respect WS_DEFAULT_FG and WS_DEFAULT_BG instead of using white on black
|
1.46 | 27-Feb-2005 |
perry | branches: 1.46.2; nuke trailing whitespace
|
1.45 | 04-Feb-2005 |
perry | de-__P
|
1.44 | 08-Nov-2003 |
uwe | branches: 1.44.2; 1.44.6; 1.44.8; 1.44.10; 1.44.12; For the rasops-drawn cursor the fg/bg indices are bit inverted, so provide complimentary colors in the upper 16 entries.
|
1.43 | 03-May-2003 |
uwe | branches: 1.43.2; In rasops_copycols change bcopy to memmove. In that particular place the src and dst are very likely to overlap, so using bcopy causes garbage to be displayed
|
1.42 | 27-Sep-2002 |
provos | remove trailing \n in panic(). approved perry.
|
1.41 | 04-Jul-2002 |
junyoung | Rename rasops_alloc_cattr and rasops_alloc_mattr to rasops_allocattr_color and rasops_allocattr_mono, respectively.
|
1.40 | 04-Jul-2002 |
junyoung | alloc_attr -> allocattr
Approved by Matthias Drochner.
|
1.39 | 13-Mar-2002 |
ad | branches: 1.39.4; Reorganise the wsfont stuff slightly so that multiple display adapters with different bit/byte order requirements can co-exist happily.
|
1.38 | 15-Nov-2001 |
lukem | don't need <sys/types.h> when including <sys/param.h>
|
1.37 | 18-Sep-2001 |
wiz | Give initiali[sz]e all the "i"s it deserves.
|
1.36 | 12-Feb-2001 |
nathanw | branches: 1.36.2; 1.36.4; 1.36.6; Correct the ri_xorigin calculation for the RI_CENTER case again.
Original calculation (bits += (ri_stride - ri_emustride) / 2) was incorrect because stride may be wider than visible width.
Fix in 1.33 (bits += (ri_width - ri_emustride) / 2) was incorrect because units do not match; "bits" and "ri_emustride" are in bytes, but "width" is in pels. Works by accident for 8bpp displays.
Change to bits += ((ri_width * bpp / 8) - ri_emustride) / 2 to correctly account for visible width and bpp.
|
1.35 | 02-Feb-2001 |
marcus | Now does character remapping depending on font encoding.
|
1.34 | 21-Jan-2001 |
takemura | Rasops supports 4bit depth.
|
1.33 | 19-Dec-2000 |
nisimura | Fix an error in xoffset calculation. Revealed in the case when ri_width is less than ri_stride and screen is layouted RI_CENTERed.
|
1.32 | 13-Jun-2000 |
ad | Use my proper name.
|
1.31 | 12-Jun-2000 |
sommerfeld | Let this build on LP64 if DEBUG is defined.
|
1.30 | 12-Apr-2000 |
pk | branches: 1.30.2; * Spell shift counts in decimal and masks in hex * Optimize numerous array references * Cleanup whitespace turds
|
1.29 | 05-Apr-2000 |
nathanw | Advance index into rasops_cmap for each color, not per triplet. This makes highlighing and color possible on truecolor displays.
|
1.28 | 04-Apr-2000 |
nathanw | Fix computation of ri_xorigin in RI_CENTER case; convery from bytes to pixels, not from bytes to bytes^2/pixel.
|
1.27 | 14-Mar-2000 |
nisimura | Resolve LP64 issues.
|
1.26 | 06-Jan-2000 |
shin | replace WSFONT_L2R by WSDISPLAY_FONTORDER_L2R to compile again.
|
1.25 | 16-Dec-1999 |
ad | Dispatch another nit.
|
1.24 | 04-Dec-1999 |
drochner | -use the right namespace for screen capabilities -make attribute decomposing a bit more friendly if the caller doesn't care about underlines
|
1.23 | 02-Dec-1999 |
drochner | -initialize the colormap completely at compile time, to allow drivers to use it early -now we can declare it "const" (as "rasops_isgray[]", while we are here) -don't use the fg/bg colors in ...alloc_attr() if the WSATTR_WSCOLORS flag was not given - use reasonable defaults instead -add an opaque "ri_hw" member to "rasops_info", for driver use
|
1.22 | 06-Nov-1999 |
enami | Possible typo.
|
1.21 | 05-Nov-1999 |
ad | In rasops_do_cursor(), don't pull the mask from ri_devcmap[], just use ~0. Needed to make cursor DTRT on NetBSD/hpcmips - from takemura.
|
1.20 | 23-Oct-1999 |
ad | - New option (RASOPS_SMALL) for the tight-fisted. - Don't use int32_t/u_int32_t unless we must. - Remove C++ single line comment delimeters that crept in. - Remove defs pertaining to byte granularity 'ragged-edge' bitmasks. - Move all declarations of per-depth initialization functions to rasops.h. - Other minor cleanup.
|
1.19 | 04-Oct-1999 |
ad | branches: 1.19.2; 1.19.4; 1.19.6; Use proper mask when RI_FORCEMONO is set and XORing cursor.
|
1.18 | 17-Sep-1999 |
ad | - Collapse forward and reverse cases in rasops_copyrows() into one - Pull in opt_rasops.h so we know if clipping is enabled - Some KNF
|
1.17 | 17-Sep-1999 |
ad | Clean up attribute allocation some more.
|
1.16 | 26-Aug-1999 |
thorpej | Small consistency nit.
|
1.15 | 26-Aug-1999 |
thorpej | Make monochrome attribte allocation a bit more obvious.
|
1.14 | 25-Aug-1999 |
ad | When clearing the entire display, point to the start of the framebuffer, not start of console output. Also, do not advance by ri_delta every row.
|
1.13 | 24-Aug-1999 |
ad | - Change the semantics of rasops_init slightly - Re-name rasops_setfont to rasops_reconfig - Add some new run-time 'features' - Bring all run-time 'features' under control of rasops_info::ri_flg - Some cosmetic changes
|
1.12 | 21-Jul-1999 |
ad | - Style nits - Kill some of the dainbramage in variable-depth copycols()
|
1.11 | 15-Jun-1999 |
ad | branches: 1.11.2; - Don't even try to emulate WSATTR_HILIT on mono displays - WSATTR_REVERSE is a capability of both mono/color
|
1.10 | 15-Jun-1999 |
ad | Fix stupid alignment bug. The 'slop' stuff is due for replacement with masks RSN per the README.
|
1.9 | 18-May-1999 |
ad | Assign ownership & copyright to TNF. There is probably a procedure for this that I am unaware of. Also some KNF.
|
1.8 | 15-May-1999 |
ad | Add diagnostic measures to check for missing font.
|
1.7 | 15-May-1999 |
ad | wsfont cookies <= 0 are invalid, not just those < 0.
|
1.6 | 09-May-1999 |
ad | In rasops_erasecols(), try word aligned case before halfword aligned.
|
1.5 | 29-Apr-1999 |
ad | Add cookie for wsfont to rasops_info.
|
1.4 | 26-Apr-1999 |
ad | Innumerable fixes and improvements. README contains list of remaining bugs that need to be squashed.
|
1.3 | 13-Apr-1999 |
ad | Code cleanup. Add ri_bswap member to 'struct rasops_info' to indicate that framebuffer endianness differs from CPU (for 15,16,32-bit displays).
|
1.2 | 13-Apr-1999 |
ad | Fixed licensing due to a foobar on my behalf.
|
1.1 | 13-Apr-1999 |
ad | Initial import of 'rasops', the new raster operations set for wscons/rcons.
|
1.11.2.3 | 02-Aug-1999 |
thorpej | Update from trunk.
|
1.11.2.2 | 21-Jun-1999 |
thorpej | Sync w/ -current.
|
1.11.2.1 | 15-Jun-1999 |
thorpej | file rasops.c was added on branch chs-ubc2 on 1999-06-21 01:19:00 +0000
|
1.19.6.1 | 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.19.4.1 | 15-Nov-1999 |
fvdl | Sync with -current
|
1.19.2.4 | 12-Mar-2001 |
bouyer | Sync with HEAD.
|
1.19.2.3 | 11-Feb-2001 |
bouyer | Sync with HEAD.
|
1.19.2.2 | 05-Jan-2001 |
bouyer | Sync with HEAD
|
1.19.2.1 | 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.30.2.1 | 22-Jun-2000 |
minoura | Sync w/ netbsd-1-5-base.
|
1.36.6.1 | 01-Oct-2001 |
fvdl | Catch up with -current.
|
1.36.4.4 | 10-Oct-2002 |
jdolecek | sync kqueue with -current; this includes merge of gehenna-devsw branch, merge of i386 MP branch, and part of autoconf rototil work
|
1.36.4.3 | 06-Sep-2002 |
jdolecek | sync kqueue branch with HEAD
|
1.36.4.2 | 16-Mar-2002 |
jdolecek | Catch up with -current.
|
1.36.4.1 | 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.36.2.5 | 18-Oct-2002 |
nathanw | Catch up to -current.
|
1.36.2.4 | 01-Aug-2002 |
nathanw | Catch up to -current.
|
1.36.2.3 | 01-Apr-2002 |
nathanw | Catch up to -current. (CVS: It's not just a program. It's an adventure!)
|
1.36.2.2 | 08-Jan-2002 |
nathanw | Catch up to -current.
|
1.36.2.1 | 21-Sep-2001 |
nathanw | Catch up to -current.
|
1.39.4.1 | 15-Jul-2002 |
gehenna | catch up with -current.
|
1.43.2.6 | 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.43.2.5 | 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.43.2.4 | 04-Feb-2005 |
skrll | Sync with HEAD.
|
1.43.2.3 | 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.43.2.2 | 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.43.2.1 | 03-Aug-2004 |
skrll | Sync with HEAD
|
1.44.12.1 | 12-Aug-2007 |
bouyer | Pull up following revision(s) (requested by mjf in ticket #11348): Pull up following revision(s) (requested by mjf in ticket #11348): sys/dev/ic/pcdisplay_subr.c: revision 1.33 via patch sys/dev/ic/vga_raster.c: revision 1.29 via patch sys/dev/ic/vga.c: revision 1.95 via patch sys/dev/rasops/rasops.c: revision 1.56 via patch sys/dev/isa/ega.c: revision 1.23 via patch Implement bounds checking in some places in display driver code to avoid the possibility of a local user panic. Set the 'ri' pointer before use.
|
1.44.10.2 | 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.44.10.1 | 12-Feb-2005 |
yamt | sync with head.
|
1.44.8.1 | 29-Apr-2005 |
kent | sync with -current
|
1.44.6.1 | 11-Aug-2007 |
bouyer | Pull up following revision(s) (requested by mjf in ticket #11348): sys/dev/ic/pcdisplay_subr.c: revision 1.33 via patch sys/dev/ic/vga_raster.c: revision 1.29 via patch sys/dev/ic/vga.c: revision 1.95 via patch sys/dev/rasops/rasops.c: revision 1.56 via patch sys/dev/isa/ega.c: revision 1.23 via patch Implement bounds checking in some places in display driver code to avoid the possibility of a local user panic. Set the 'ri' pointer before use.
|
1.44.2.1 | 12-Aug-2007 |
bouyer | Pull up following revision(s) (requested by mjf in ticket #11348): Pull up following revision(s) (requested by mjf in ticket #11348): sys/dev/ic/pcdisplay_subr.c: revision 1.33 via patch sys/dev/ic/vga_raster.c: revision 1.29 via patch sys/dev/ic/vga.c: revision 1.95 via patch sys/dev/rasops/rasops.c: revision 1.56 via patch sys/dev/isa/ega.c: revision 1.23 via patch Implement bounds checking in some places in display driver code to avoid the possibility of a local user panic. Set the 'ri' pointer before use.
|
1.46.2.2 | 06-Aug-2007 |
ghen | Pull up following revision(s) (requested by mjf in ticket #1815): sys/dev/ic/pcdisplay_subr.c: revision 1.33 via patch sys/dev/ic/vga_raster.c: revision 1.29 via patch sys/dev/ic/vga.c: revision 1.95 via patch sys/dev/rasops/rasops.c: revision 1.56 via patch sys/dev/isa/ega.c: revision 1.23 via patch Implement bounds checking in some places in display driver code to avoid the possibility of a local user panic. Set the 'ri' pointer before use.
|
1.46.2.1 | 03-Jun-2005 |
riz | branches: 1.46.2.1.2; 1.46.2.1.4; Pull up revisions 1.47-1.48 (requested by martin in ticket #366): 1.47: made rasops_allocattr_color() respect WS_DEFAULT_FG and WS_DEFAULT_BG instead of using white on black
1.48: fixed tab width and formatting
|
1.46.2.1.4.1 | 06-Aug-2007 |
ghen | Pull up following revision(s) (requested by mjf in ticket #1815): sys/dev/ic/pcdisplay_subr.c: revision 1.33 via patch sys/dev/ic/vga_raster.c: revision 1.29 via patch sys/dev/ic/vga.c: revision 1.95 via patch sys/dev/rasops/rasops.c: revision 1.56 via patch sys/dev/isa/ega.c: revision 1.23 via patch Implement bounds checking in some places in display driver code to avoid the possibility of a local user panic. Set the 'ri' pointer before use.
|
1.46.2.1.2.1 | 06-Aug-2007 |
ghen | Pull up following revision(s) (requested by mjf in ticket #1815): sys/dev/ic/pcdisplay_subr.c: revision 1.33 via patch sys/dev/ic/vga_raster.c: revision 1.29 via patch sys/dev/ic/vga.c: revision 1.95 via patch sys/dev/rasops/rasops.c: revision 1.56 via patch sys/dev/isa/ega.c: revision 1.23 via patch Implement bounds checking in some places in display driver code to avoid the possibility of a local user panic. Set the 'ri' pointer before use.
|
1.48.2.5 | 21-Jan-2008 |
yamt | sync with head
|
1.48.2.4 | 03-Sep-2007 |
yamt | sync with head.
|
1.48.2.3 | 26-Feb-2007 |
yamt | sync with head.
|
1.48.2.2 | 30-Dec-2006 |
yamt | sync with head.
|
1.48.2.1 | 21-Jun-2006 |
yamt | sync with head.
|
1.49.2.3 | 01-Mar-2006 |
yamt | sync with head.
|
1.49.2.2 | 18-Feb-2006 |
yamt | sync with head.
|
1.49.2.1 | 01-Feb-2006 |
yamt | sync with head.
|
1.50.4.1 | 22-Apr-2006 |
simonb | Sync with head.
|
1.50.2.1 | 09-Sep-2006 |
rpaulo | sync with head
|
1.52.16.2 | 10-Dec-2006 |
yamt | sync with head.
|
1.52.16.1 | 22-Oct-2006 |
yamt | sync with head
|
1.52.14.2 | 09-Feb-2007 |
ad | Sync with HEAD.
|
1.52.14.1 | 18-Nov-2006 |
ad | Sync with head.
|
1.54.4.1 | 03-Sep-2007 |
wrstuden | Sync w/ NetBSD-4-RC_1
|
1.54.2.1 | 30-Jul-2007 |
liamjfoy | Pull up following revision(s) (requested by mjf in ticket #799): sys/dev/ic/pcdisplay_subr.c: revision 1.33 sys/dev/wscons/wsdisplay_vcons.c: revision 1.12 sys/dev/wscons/wsdisplay_vcons.c: revision 1.13 sys/dev/ic/vga_raster.c: revision 1.29 sys/dev/pci/chipsfb.c: revision 1.10 sys/dev/ic/vga.c: revision 1.95 sys/dev/rasops/rasops.c: revision 1.56 sys/dev/isa/ega.c: revision 1.23 Implement bounds checking in some places in display driver code to avoid the possibility of a local user panic. Set the 'ri' pointer before use.
|
1.55.14.1 | 15-Aug-2007 |
skrll | Sync with HEAD.
|
1.55.6.1 | 20-Aug-2007 |
ad | Sync with HEAD.
|
1.56.18.2 | 28-Jul-2007 |
mjf | Implement bounds checking in some places in display driver code to avoid the possibility of a local user panic.
|
1.56.18.1 | 28-Jul-2007 |
mjf | file rasops.c was added on branch matt-mips64 on 2007-07-28 20:28:58 +0000
|
1.56.16.1 | 11-Dec-2007 |
yamt | sync with head.
|
1.56.14.1 | 26-Dec-2007 |
ad | Sync with head.
|
1.56.6.1 | 09-Jan-2008 |
matt | sync with HEAD
|
1.56.4.1 | 03-Aug-2007 |
jmcneill | Pull in power management changes from private branch.
|
1.57.14.4 | 11-Aug-2010 |
yamt | sync with head.
|
1.57.14.3 | 11-Mar-2010 |
yamt | sync with head
|
1.57.14.2 | 04-May-2009 |
yamt | sync with head.
|
1.57.14.1 | 16-May-2008 |
yamt | sync with head.
|
1.57.12.1 | 18-May-2008 |
yamt | sync with head.
|
1.57.10.1 | 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.58.14.1 | 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.58.8.1 | 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.61.4.3 | 05-Mar-2011 |
rmind | sync with head
|
1.61.4.2 | 03-Jul-2010 |
rmind | sync with head
|
1.61.4.1 | 30-May-2010 |
rmind | sync with head
|
1.61.2.2 | 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.61.2.1 | 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.66.12.2 | 29-Apr-2012 |
mrg | sync to latest -current.
|
1.66.12.1 | 18-Feb-2012 |
mrg | merge to -current.
|
1.66.8.2 | 23-May-2012 |
yamt | sync with head.
|
1.66.8.1 | 17-Apr-2012 |
yamt | sync with head
|
1.70.8.1 | 03-Nov-2014 |
msaitoh | Pull up following revision(s) (requested by riastradh in ticket #1117): sys/dev/rasops/rasops.c: revision 1.72 sys/dev/vme/if_ie_vme.c: revision 1.31 sys/dev/qbus/if_qe.c: revision 1.73 sys/altq/altq_jobs.c: revision 1.7 sys/net/if_gre.c: revision 1.160 sys/dev/ic/oosiop.c: revision 1.14 - Fix error branches in altq_jobs.c to avoid leaks, noted by maxv@. - Fix leaks in oosiop_alloc_cb error branches, noted by maxv@. While here, avoid a sketchy pointer cast that probably falls afoul of strict aliasing rules. Compile-tested only, with hppa. - Don't leak f on failurein rasops.c. Noted by maxv@. Compile-tested only, with zaurus. - Avoid leak in error branch in if_qe.c, noted by maxv@, compile-tested for vax. - Sizeof struct ievme, not sizeof size_t in if_ie_vme.c. Noted by maxv@, compile-tested for sparc. - Don't leak in gre_clone_create error branch. Noted by maxv@, compile-tested for amd64.
|
1.70.6.1 | 03-Nov-2014 |
msaitoh | Pull up following revision(s) (requested by riastradh in ticket #1117): sys/dev/rasops/rasops.c: revision 1.72 sys/dev/vme/if_ie_vme.c: revision 1.31 sys/dev/qbus/if_qe.c: revision 1.73 sys/altq/altq_jobs.c: revision 1.7 sys/net/if_gre.c: revision 1.160 sys/dev/ic/oosiop.c: revision 1.14 - Fix error branches in altq_jobs.c to avoid leaks, noted by maxv@. - Fix leaks in oosiop_alloc_cb error branches, noted by maxv@. While here, avoid a sketchy pointer cast that probably falls afoul of strict aliasing rules. Compile-tested only, with hppa. - Don't leak f on failurein rasops.c. Noted by maxv@. Compile-tested only, with zaurus. - Avoid leak in error branch in if_qe.c, noted by maxv@, compile-tested for vax. - Sizeof struct ievme, not sizeof size_t in if_ie_vme.c. Noted by maxv@, compile-tested for sparc. - Don't leak in gre_clone_create error branch. Noted by maxv@, compile-tested for amd64.
|
1.70.2.1 | 03-Nov-2014 |
msaitoh | Pull up following revision(s) (requested by riastradh in ticket #1117): sys/dev/rasops/rasops.c: revision 1.72 sys/dev/vme/if_ie_vme.c: revision 1.31 sys/dev/qbus/if_qe.c: revision 1.73 sys/altq/altq_jobs.c: revision 1.7 sys/net/if_gre.c: revision 1.160 sys/dev/ic/oosiop.c: revision 1.14 - Fix error branches in altq_jobs.c to avoid leaks, noted by maxv@. - Fix leaks in oosiop_alloc_cb error branches, noted by maxv@. While here, avoid a sketchy pointer cast that probably falls afoul of strict aliasing rules. Compile-tested only, with hppa. - Don't leak f on failurein rasops.c. Noted by maxv@. Compile-tested only, with zaurus. - Avoid leak in error branch in if_qe.c, noted by maxv@, compile-tested for vax. - Sizeof struct ievme, not sizeof size_t in if_ie_vme.c. Noted by maxv@, compile-tested for sparc. - Don't leak in gre_clone_create error branch. Noted by maxv@, compile-tested for amd64.
|
1.71.14.1 | 22-Aug-2014 |
martin | Pull up following revision(s) (requested by riastradh in ticket #44): sys/altq/altq_jobs.c 1.7 Fix error branches to avoid leaks, noted by maxv@. sys/dev/ic/oosiop.c 1.14 Fix leaks in oosiop_alloc_cb error branches, noted by maxv@. While here, avoid a sketchy pointer cast that probably falls afoul of strict aliasing rules. sys/dev/qbus/if_qe.c 1.73 Avoid leak in error branch, noted by maxv@, compile-tested for vax. sys/dev/rasops/rasops.c 1.72 Don't leak f on failure. Noted by maxv@. sys/dev/vme/if_ie_vme.c 1.31 Sizeof struct ievme, not sizeof size_t. Noted by maxv@, compile-tested for sparc. sys/net/if_gre.c 1.160 Don't leak in gre_clone_create error branch. Noted by maxv@, compile-tested for amd64.
|
1.71.2.1 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.72.2.2 | 28-Aug-2017 |
skrll | Sync with HEAD
|
1.72.2.1 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.73.4.1 | 21-Apr-2017 |
bouyer | Sync with HEAD
|
1.73.2.2 | 26-Apr-2017 |
pgoyette | Sync with HEAD
|
1.73.2.1 | 20-Mar-2017 |
pgoyette | Sync with HEAD
|
1.75.2.1 | 19-May-2017 |
pgoyette | Resolve conflicts from previous merge (all resulting from $NetBSD keywork expansion)
|
1.77.10.2 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.77.10.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.77.8.1 | 26-Dec-2018 |
pgoyette | Sync with HEAD, resolve a few conflicts
|
1.101.2.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.51 | 25-Jul-2025 |
martin | PR 58582: make rasops and wsdisplay headers idempotent.
|
1.50 | 24-Dec-2021 |
jmcneill | branches: 1.50.10; wsfb: Prefer wide fonts when EDID data is available.
To give us a better chance of picking a readable font, prefer fonts that will render at least 3mm wide instead of picking the font that will be closest to that size.
|
1.49 | 02-Nov-2019 |
tsutsui | Fix "Alignment Fault 3" kernel failure of NetBSD/zaurus 8.1 GENERIC.
#ifdef switch per kernel config options in definition of device driver structure in header files could be problematic.
See my post in port-zaurus@ for details: https://mail-index.netbsd.org/port-zaurus/2019/10/31/msg000079.html
Should be pulled up to netbsd-8 and netbsd-9.
|
1.48 | 14-Aug-2019 |
rin | When using stamp, drop attributions other than back and foreground colors so that stamp is not updated unnecessarily.
|
1.47 | 10-Aug-2019 |
rin | 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.
|
1.46 | 07-Aug-2019 |
rin | Make rasops_erase{rows,cols}() public again; hp300/diofb uses them.
Pointed out by martin.
|
1.45 | 07-Aug-2019 |
rin | 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!
|
1.44 | 07-Aug-2019 |
rin | 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.
|
1.43 | 03-Aug-2019 |
rin | Protect rasops_copy{rows,cols}() by _RASOPS_PRIVATE.
|
1.42 | 31-Jul-2019 |
rin | Provide buffer capable of single-row pixels in order to make things simpler.
XXX Bump kernel version for rasops_info later.
|
1.41 | 31-Jul-2019 |
rin | G/C ri_delta.
XXX Bump kernel version after other changes for struct rasops_info.
|
1.40 | 31-Jul-2019 |
rin | Switch to per-device stamp, and retire stamp_mutex.
XXX Bump kernel version after other changes for struct rasops_info.
|
1.39 | 31-Jul-2019 |
rin | 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
|
1.38 | 29-Jul-2019 |
rin | branches: 1.38.2; Avoid undefined behavior when converting unaligned be32 data to host integer, found by kUBSan.
Pointed out by msaitoh.
|
1.37 | 28-Jul-2019 |
rin | Cast attr to uint32_t before right shift to avoid undefined behavior.
Also, misc style/cosmetic changes for clarity.
|
1.36 | 25-Jul-2019 |
rin | Provide and use FONT_GLYPH macro, tiny optimization version of WSFONT_GLYPH.
|
1.35 | 24-Jul-2019 |
rin | Use unsigned integers for binary data storage. No functional changes intended.
|
1.34 | 24-Jul-2019 |
rin | Adjust white space.
|
1.33 | 24-Jul-2019 |
rin | Style: - u_char --> uint8_t - u_int*_t --> uint*_t
No functional changes.
|
1.32 | 22-Apr-2017 |
macallan | branches: 1.32.4; 1.32.12; add RI_PREFER_ALPHA flag, for drivers that can draw such fonts by hardware
|
1.31 | 19-Apr-2012 |
macallan | branches: 1.31.2; 1.31.16; 1.31.20; add another convenience function: rasops_get_cmap() which returns either the ANSI map or an R3G3B2 map, depending on the rasops_info handed to it so drivers don't have to duplicate this particular code snippet
|
1.30 | 11-Jan-2012 |
macallan | make rasops_init()'s font selection code a bit less boneheaded by: - actually trying to pick a font which gets as close as possible to the requested terminal size - accepting 0,0 as 'use system default' which can be changed by options RASOPS_DEFAULT_WIDTH=100 options RASOPS_DEFAULT_HEIGHT=30 default is 80x25 - putting alpha and bitmap fonts in the same list and making wsfont_find() aware of wether we support alpha fonts or not - if supported, prefer alpha fonts over otherwise equally suitable bitmap fonts
|
1.29 | 03-Jan-2012 |
macallan | add a macro to identify alpha fonts
|
1.28 | 28-Dec-2011 |
macallan | add a new flag for ri_flg to allow drivers to request an r3g3b2 devcmap in 8 bit colour. Drivers are still responsible to generate an appropriate colour map for the actual hardware. For use with alpha blending which needs some sort of 'true' colour.
|
1.27 | 22-Dec-2011 |
macallan | support anti-aliased fonts ( as in, pre-rendered alpha maps ), for now only in rasops32 although adding support in 15, 16 and 24 would be trivial. Enabled only if the driver explicitly requests it by setting the RI_ENABLE_ALPHA flag.
|
1.26 | 06-May-2010 |
macallan | branches: 1.26.8; 1.26.12; Introduce a new flag for rasops_info to keep rasops_reconfig() from trying to allocate memory. Use this when calling rasops_reconfig() before it is safe to call kmem_alloc().
|
1.25 | 04-May-2010 |
macallan | autogenerate box drawing characters for fonts that don't have them, put them into an alternate font pointed at by the recently added mappings in wsfont, adapt all putchar() methods except the rotated ones to use them XXX no attempt has been made to make this work with rotation
|
1.24 | 17-Apr-2010 |
nonaka | Added Sharp W-ZERO3 series support.
|
1.23 | 21-Jan-2010 |
macallan | branches: 1.23.2; 1.23.4; make RI_CENTER and RI_FULLCLEAR work with a shadow framebuffer
|
1.22 | 28-Apr-2008 |
martin | Remove clause 3 and 4 from TNF licenses
|
1.21 | 04-Mar-2007 |
christos | branches: 1.21.36; 1.21.38; 1.21.40; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
1.20 | 02-Feb-2007 |
ober | branches: 1.20.2; Updates to allow Zaurus screen to rotate 90 degrees to a usable state with the keyboard. Patch from peter@ copied from OpenBSD. Feedback and OK from matt@
|
1.19 | 18-Feb-2006 |
jmcneill | branches: 1.19.14; Add shadow framebuffer support.
|
1.18 | 11-Dec-2005 |
christos | branches: 1.18.2; 1.18.4; 1.18.6; merge ktrace-lwp.
|
1.17 | 04-Feb-2005 |
perry | branches: 1.17.6; de-__P
|
1.16 | 05-Mar-2004 |
petrov | branches: 1.16.8; 1.16.10; Check character if it in font limits before drawing it in rasops8_putchar functions.
|
1.15 | 18-Sep-2001 |
wiz | branches: 1.15.18; Give initiali[sz]e all the "i"s it deserves.
|
1.14 | 21-Jan-2001 |
takemura | branches: 1.14.2; 1.14.4; 1.14.6; Rasops supports 4bit depth.
|
1.13 | 13-Jun-2000 |
ad | Use my proper name.
|
1.12 | 12-Apr-2000 |
pk | branches: 1.12.2; * Spell shift counts in decimal and masks in hex * Optimize numerous array references * Cleanup whitespace turds
|
1.11 | 14-Dec-1999 |
ad | Note that per-depth initialization functions shouldn't be called by mere mortals.
|
1.10 | 14-Dec-1999 |
ad | The ri_hw member was added to 'struct rasops_info'. This does the same thing as ri_priv; since ri_priv is not used anywhere in the kernel, nuke it.
|
1.9 | 02-Dec-1999 |
drochner | -initialize the colormap completely at compile time, to allow drivers to use it early -now we can declare it "const" (as "rasops_isgray[]", while we are here) -don't use the fg/bg colors in ...alloc_attr() if the WSATTR_WSCOLORS flag was not given - use reasonable defaults instead -add an opaque "ri_hw" member to "rasops_info", for driver use
|
1.8 | 23-Oct-1999 |
ad | - New option (RASOPS_SMALL) for the tight-fisted. - Don't use int32_t/u_int32_t unless we must. - Remove C++ single line comment delimeters that crept in. - Remove defs pertaining to byte granularity 'ragged-edge' bitmasks. - Move all declarations of per-depth initialization functions to rasops.h. - Other minor cleanup.
|
1.7 | 24-Aug-1999 |
ad | branches: 1.7.2; 1.7.4; 1.7.6; - Change the semantics of rasops_init slightly - Re-name rasops_setfont to rasops_reconfig - Add some new run-time 'features' - Bring all run-time 'features' under control of rasops_info::ri_flg - Some cosmetic changes
|
1.6 | 18-May-1999 |
ad | branches: 1.6.2; Assign ownership & copyright to TNF. There is probably a procedure for this that I am unaware of. Also some KNF.
|
1.5 | 29-Apr-1999 |
ad | Add cookie for wsfont to rasops_info.
|
1.4 | 26-Apr-1999 |
ad | Innumerable fixes and improvements. README contains list of remaining bugs that need to be squashed.
|
1.3 | 13-Apr-1999 |
ad | Code cleanup. Add ri_bswap member to 'struct rasops_info' to indicate that framebuffer endianness differs from CPU (for 15,16,32-bit displays).
|
1.2 | 13-Apr-1999 |
ad | Fixed licensing due to a foobar on my behalf.
|
1.1 | 13-Apr-1999 |
ad | Initial import of 'rasops', the new raster operations set for wscons/rcons.
|
1.6.2.1 | 21-Jun-1999 |
thorpej | Sync w/ -current.
|
1.7.6.1 | 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.7.4.1 | 15-Nov-1999 |
fvdl | Sync with -current
|
1.7.2.2 | 11-Feb-2001 |
bouyer | Sync with HEAD.
|
1.7.2.1 | 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.12.2.1 | 22-Jun-2000 |
minoura | Sync w/ netbsd-1-5-base.
|
1.14.6.1 | 01-Oct-2001 |
fvdl | Catch up with -current.
|
1.14.4.1 | 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.14.2.1 | 21-Sep-2001 |
nathanw | Catch up to -current.
|
1.15.18.4 | 04-Feb-2005 |
skrll | Sync with HEAD.
|
1.15.18.3 | 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.15.18.2 | 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.15.18.1 | 03-Aug-2004 |
skrll | Sync with HEAD
|
1.16.10.1 | 12-Feb-2005 |
yamt | sync with head.
|
1.16.8.1 | 29-Apr-2005 |
kent | sync with -current
|
1.17.6.3 | 03-Sep-2007 |
yamt | sync with head.
|
1.17.6.2 | 26-Feb-2007 |
yamt | sync with head.
|
1.17.6.1 | 21-Jun-2006 |
yamt | sync with head.
|
1.18.6.1 | 22-Apr-2006 |
simonb | Sync with head.
|
1.18.4.1 | 09-Sep-2006 |
rpaulo | sync with head
|
1.18.2.1 | 18-Feb-2006 |
yamt | sync with head.
|
1.19.14.1 | 09-Feb-2007 |
ad | Sync with HEAD.
|
1.20.2.1 | 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.21.40.3 | 11-Aug-2010 |
yamt | sync with head.
|
1.21.40.2 | 11-Mar-2010 |
yamt | sync with head
|
1.21.40.1 | 16-May-2008 |
yamt | sync with head.
|
1.21.38.1 | 18-May-2008 |
yamt | sync with head.
|
1.21.36.1 | 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.23.4.1 | 30-May-2010 |
rmind | sync with head
|
1.23.2.2 | 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.23.2.1 | 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.26.12.2 | 29-Apr-2012 |
mrg | sync to latest -current.
|
1.26.12.1 | 18-Feb-2012 |
mrg | merge to -current.
|
1.26.8.2 | 23-May-2012 |
yamt | sync with head.
|
1.26.8.1 | 17-Apr-2012 |
yamt | sync with head
|
1.31.20.1 | 26-Apr-2017 |
pgoyette | Sync with HEAD
|
1.31.16.1 | 28-Aug-2017 |
skrll | Sync with HEAD
|
1.31.2.1 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.32.12.1 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.32.4.1 | 04-Nov-2019 |
martin | Pull up following revision(s) (requested by tsutsui in ticket #1422):
sys/dev/rasops/rasops.h: revision 1.49
Fix "Alignment Fault 3" kernel failure of NetBSD/zaurus 8.1 GENERIC. structure in header files could be problematic.
See my post in port-zaurus@ for details: https://mail-index.netbsd.org/port-zaurus/2019/10/31/msg000079.html
Should be pulled up to netbsd-8 and netbsd-9.
|
1.38.2.2 | 04-Nov-2019 |
martin | Pull up following revision(s) (requested by tsutsui in ticket #394):
sys/dev/rasops/rasops.h: revision 1.49
Fix "Alignment Fault 3" kernel failure of NetBSD/zaurus 8.1 GENERIC. structure in header files could be problematic.
See my post in port-zaurus@ for details: https://mail-index.netbsd.org/port-zaurus/2019/10/31/msg000079.html
Should be pulled up to netbsd-8 and netbsd-9.
|
1.38.2.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.50.10.1 | 02-Aug-2025 |
perseant | Sync with HEAD
|
1.3 | 10-Aug-2019 |
rin | branches: 1.3.2; 1.3.10; 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.
|
1.2 | 09-Aug-2019 |
rin | Correctly check whether character is in font in rasops_mapchar(). Also, make sure that in putchar functions for completeness.
|
1.1 | 07-Aug-2019 |
rin | Separate general putchar for 1-4bpp from rasops_bitops: - Support anti-aliasing for 2bpp, which works perfectly! - Support scaling underline dimensions with font height.
|
1.3.10.2 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.3.10.1 | 10-Aug-2019 |
martin | file rasops1-4_putchar.h was added on branch phil-wifi on 2020-04-13 08:04:47 +0000
|
1.3.2.2 | 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.3.2.1 | 10-Aug-2019 |
martin | file rasops1-4_putchar.h was added on branch netbsd-9 on 2019-08-15 12:21:27 +0000
|
1.37 | 10-Aug-2019 |
rin | 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.
|
1.36 | 09-Aug-2019 |
rin | Correctly check whether character is in font in rasops_mapchar(). Also, make sure that in putchar functions for completeness.
|
1.35 | 07-Aug-2019 |
rin | 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.
|
1.34 | 02-Aug-2019 |
rin | 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.
|
1.33 | 02-Aug-2019 |
rin | Support font width 32 on monochrome screen.
|
1.32 | 31-Jul-2019 |
rin | 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
|
1.31 | 30-Jul-2019 |
rin | branches: 1.31.2; Try to improve performance when shadow framebuffer is present; Use block copy from shadow fb to real fb, instead of repeating the same operations to two fb's.
|
1.30 | 29-Jul-2019 |
rin | Avoid undefined behavior when converting unaligned be32 data to host integer, found by kUBSan.
Pointed out by msaitoh.
|
1.29 | 29-Jul-2019 |
rin | Clean up for rasops1.c: - dedup ugly copy-paste - rewrite to factorize width-optimized putchar functions - misc style
|
1.28 | 25-Jul-2019 |
rin | Provide and use FONT_GLYPH macro, tiny optimization version of WSFONT_GLYPH.
|
1.27 | 25-Jul-2019 |
rin | Misc cleen up: - Make 32bit mask unsigned - DPRINTF --> __nothing ifndef DEBUG_RASOPS - "#ifdef DIAGNOSTIC if (x) panic(); #endif" --> KASSERT(!x); - KNF
No functional changes intended.
|
1.26 | 24-Jul-2019 |
rin | Use unsigned integers for binary data storage. No functional changes intended.
|
1.25 | 24-Jul-2019 |
rin | Style: - u_char --> uint8_t - u_int*_t --> uint*_t
No functional changes.
|
1.24 | 04-Dec-2018 |
mlelstv | rasops reused wscons attribute bits for internal control. - make upper 4 attribute bits available for such use - use wscons flag names instead of literal constants.
|
1.23 | 04-May-2010 |
macallan | branches: 1.23.58; 1.23.60; autogenerate box drawing characters for fonts that don't have them, put them into an alternate font pointed at by the recently added mappings in wsfont, adapt all putchar() methods except the rotated ones to use them XXX no attempt has been made to make this work with rotation
|
1.22 | 13-Apr-2010 |
macallan | fix a bunch of typos, now 8 bit fonts work properly
|
1.21 | 08-Apr-2010 |
macallan | add support for shadow framebuffers tested on sparc with a cg12
|
1.20 | 14-Mar-2009 |
dsl | branches: 1.20.2; 1.20.4; 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.19 | 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.18 | 28-Apr-2008 |
martin | branches: 1.18.8; 1.18.14; Remove clause 3 and 4 from TNF licenses
|
1.17 | 11-Dec-2005 |
christos | branches: 1.17.70; 1.17.72; 1.17.74; merge ktrace-lwp.
|
1.16 | 04-Feb-2005 |
perry | de-__P
|
1.15 | 15-Nov-2001 |
lukem | branches: 1.15.16; 1.15.24; 1.15.26; don't need <sys/types.h> when including <sys/param.h>
|
1.14 | 13-Nov-2001 |
lukem | add/cleanup RCSIDs
|
1.13 | 18-Sep-2001 |
wiz | Give initiali[sz]e all the "i"s it deserves.
|
1.12 | 13-Jun-2000 |
ad | branches: 1.12.4; 1.12.6; 1.12.8; Use my proper name.
|
1.11 | 12-Apr-2000 |
pk | branches: 1.11.2; * Spell shift counts in decimal and masks in hex * Optimize numerous array references * Cleanup whitespace turds
|
1.10 | 23-Oct-1999 |
ad | - New option (RASOPS_SMALL) for the tight-fisted. - Don't use int32_t/u_int32_t unless we must. - Remove C++ single line comment delimeters that crept in. - Remove defs pertaining to byte granularity 'ragged-edge' bitmasks. - Move all declarations of per-depth initialization functions to rasops.h. - Other minor cleanup.
|
1.9 | 31-Aug-1999 |
ad | branches: 1.9.2; 1.9.4; 1.9.6; Pass color value through ri->ri_devcmap before writing.
|
1.8 | 20-Aug-1999 |
mouse | Get rid of ugly vertical bars which occurred when character-cell boundaries != byte boundaries. ("width" (despite the poor name) should be computed based on the *old* value of bg, not the *new* one.) Fixes PR 8221.
|
1.7 | 25-Jul-1999 |
ad | Use unsigned integer to hold font bits in putchar(). [This looks like the source of glyph corruption].
|
1.6 | 21-Jul-1999 |
ad | - Style nits - Kill some of the dainbramage in variable-depth copycols()
|
1.5 | 18-May-1999 |
ad | branches: 1.5.2; Assign ownership & copyright to TNF. There is probably a procedure for this that I am unaware of. Also some KNF.
|
1.4 | 26-Apr-1999 |
ad | Innumerable fixes and improvements. README contains list of remaining bugs that need to be squashed.
|
1.3 | 13-Apr-1999 |
ad | Code cleanup. Add ri_bswap member to 'struct rasops_info' to indicate that framebuffer endianness differs from CPU (for 15,16,32-bit displays).
|
1.2 | 13-Apr-1999 |
ad | Fixed licensing due to a foobar on my behalf.
|
1.1 | 13-Apr-1999 |
ad | Initial import of 'rasops', the new raster operations set for wscons/rcons.
|
1.5.2.2 | 02-Aug-1999 |
thorpej | Update from trunk.
|
1.5.2.1 | 21-Jun-1999 |
thorpej | Sync w/ -current.
|
1.9.6.1 | 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.9.4.1 | 15-Nov-1999 |
fvdl | Sync with -current
|
1.9.2.1 | 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.11.2.1 | 22-Jun-2000 |
minoura | Sync w/ netbsd-1-5-base.
|
1.12.8.1 | 01-Oct-2001 |
fvdl | Catch up with -current.
|
1.12.6.1 | 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.12.4.3 | 08-Jan-2002 |
nathanw | Catch up to -current.
|
1.12.4.2 | 14-Nov-2001 |
nathanw | Catch up to -current.
|
1.12.4.1 | 21-Sep-2001 |
nathanw | Catch up to -current.
|
1.15.26.1 | 12-Feb-2005 |
yamt | sync with head.
|
1.15.24.1 | 29-Apr-2005 |
kent | sync with -current
|
1.15.16.1 | 04-Feb-2005 |
skrll | Sync with HEAD.
|
1.17.74.3 | 11-Aug-2010 |
yamt | sync with head.
|
1.17.74.2 | 04-May-2009 |
yamt | sync with head.
|
1.17.74.1 | 16-May-2008 |
yamt | sync with head.
|
1.17.72.1 | 18-May-2008 |
yamt | sync with head.
|
1.17.70.1 | 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.18.14.1 | 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.18.8.1 | 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.20.4.1 | 30-May-2010 |
rmind | sync with head
|
1.20.2.2 | 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.20.2.1 | 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.23.60.2 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.23.60.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.23.58.1 | 26-Dec-2018 |
pgoyette | Sync with HEAD, resolve a few conflicts
|
1.31.2.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.39 | 14-Aug-2019 |
rin | When using stamp, drop attributions other than back and foreground colors so that stamp is not updated unnecessarily.
|
1.38 | 10-Aug-2019 |
rin | 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.
|
1.37 | 07-Aug-2019 |
rin | Merge rasops_putchar_aa.h into rasops_putchar.h. Support scaling underline dimensions by font height.
|
1.36 | 07-Aug-2019 |
rin | Oops, revert an unintentional change for now.
|
1.35 | 07-Aug-2019 |
rin | 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.
|
1.34 | 02-Aug-2019 |
rin | Cosmetic changes. No functional changes.
|
1.33 | 31-Jul-2019 |
rin | Switch to per-device stamp, and retire stamp_mutex.
XXX Bump kernel version after other changes for struct rasops_info.
|
1.32 | 31-Jul-2019 |
rin | 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
|
1.31 | 29-Jul-2019 |
rin | branches: 1.31.2; Factor out putchar_aa functions into rasops_putchar_aa.h, which includes the following fixes:
- stop using memset to framebuffer for depth 8 - correctly support non-standard positions/lengths of RGB bits in pixel
|
1.30 | 28-Jul-2019 |
rin | Cast attr to uint32_t before right shift to avoid undefined behavior.
Also, misc style/cosmetic changes for clarity.
|
1.29 | 28-Jul-2019 |
rin | Fix underline for anti-aliased fonts on 15/16 depth screen.
|
1.28 | 25-Jul-2019 |
rin | Factor out putchar and width-optimized putchar functions into rasops_putchar.h and rasops_putchar_width.h, respectively.
XXX Possibly, we can do the same for putchar_aa functions. But it is currently missing for 24-bpp.
|
1.27 | 25-Jul-2019 |
rin | Provide and use FONT_GLYPH macro, tiny optimization version of WSFONT_GLYPH.
|
1.26 | 25-Jul-2019 |
rin | Misc cleen up: - Make 32bit mask unsigned - DPRINTF --> __nothing ifndef DEBUG_RASOPS - "#ifdef DIAGNOSTIC if (x) panic(); #endif" --> KASSERT(!x); - KNF
No functional changes intended.
|
1.25 | 24-Jul-2019 |
rin | Use unsigned integers for binary data storage. No functional changes intended.
|
1.24 | 24-Jul-2019 |
rin | Style: - u_char --> uint8_t - u_int*_t --> uint*_t
No functional changes.
|
1.23 | 21-Jul-2019 |
rin | Fix byte order of stamp for big endian so that width-optimized putchar functions work correctly.
|
1.22 | 04-Dec-2018 |
mlelstv | rasops reused wscons attribute bits for internal control. - make upper 4 attribute bits available for such use - use wscons flag names instead of literal constants.
|
1.21 | 25-Jan-2017 |
jakllsch | branches: 1.21.12; 1.21.14; Add rasops15_putchar_aa() for greyscale fonts.
Based on rasops8_putchar_aa() and rasops32_putchar_aa().
|
1.20 | 17-Apr-2012 |
macallan | branches: 1.20.2; 1.20.16; 1.20.20; 1.20.24; fix what has to be a thinko - I doubt there's much hardware out there that uses BGR in 15/16 bit colour
|
1.19 | 04-May-2010 |
macallan | branches: 1.19.8; 1.19.12; autogenerate box drawing characters for fonts that don't have them, put them into an alternate font pointed at by the recently added mappings in wsfont, adapt all putchar() methods except the rotated ones to use them XXX no attempt has been made to make this work with rotation
|
1.18 | 14-Mar-2009 |
dsl | branches: 1.18.2; 1.18.4; 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.17 | 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.16 | 28-Apr-2008 |
martin | branches: 1.16.8; 1.16.14; Remove clause 3 and 4 from TNF licenses
|
1.15 | 04-Mar-2007 |
christos | branches: 1.15.36; 1.15.38; 1.15.40; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
1.14 | 18-Feb-2006 |
jmcneill | branches: 1.14.20; Add shadow framebuffer support.
|
1.13 | 11-Dec-2005 |
christos | branches: 1.13.2; 1.13.4; 1.13.6; merge ktrace-lwp.
|
1.12 | 04-Feb-2005 |
perry | branches: 1.12.6; de-__P
|
1.11 | 15-Nov-2001 |
lukem | branches: 1.11.16; 1.11.24; 1.11.26; don't need <sys/types.h> when including <sys/param.h>
|
1.10 | 13-Nov-2001 |
lukem | add/cleanup RCSIDs
|
1.9 | 18-Sep-2001 |
wiz | Give initiali[sz]e all the "i"s it deserves.
|
1.8 | 13-Jun-2000 |
ad | branches: 1.8.4; 1.8.6; 1.8.8; Use my proper name.
|
1.7 | 12-Apr-2000 |
pk | branches: 1.7.2; * Spell shift counts in decimal and masks in hex * Optimize numerous array references * Cleanup whitespace turds
|
1.6 | 12-Feb-2000 |
ad | Fix the unaligned accesses discovered by dbj.
|
1.5 | 23-Oct-1999 |
ad | - New option (RASOPS_SMALL) for the tight-fisted. - Don't use int32_t/u_int32_t unless we must. - Remove C++ single line comment delimeters that crept in. - Remove defs pertaining to byte granularity 'ragged-edge' bitmasks. - Move all declarations of per-depth initialization functions to rasops.h. - Other minor cleanup.
|
1.4 | 18-May-1999 |
ad | branches: 1.4.2; 1.4.4; 1.4.6; 1.4.8; Assign ownership & copyright to TNF. There is probably a procedure for this that I am unaware of. Also some KNF.
|
1.3 | 26-Apr-1999 |
ad | Innumerable fixes and improvements. README contains list of remaining bugs that need to be squashed.
|
1.2 | 13-Apr-1999 |
ad | Fixed licensing due to a foobar on my behalf.
|
1.1 | 13-Apr-1999 |
ad | Initial import of 'rasops', the new raster operations set for wscons/rcons.
|
1.4.8.1 | 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.4.6.1 | 15-Nov-1999 |
fvdl | Sync with -current
|
1.4.4.1 | 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.4.2.1 | 21-Jun-1999 |
thorpej | Sync w/ -current.
|
1.7.2.1 | 22-Jun-2000 |
minoura | Sync w/ netbsd-1-5-base.
|
1.8.8.1 | 01-Oct-2001 |
fvdl | Catch up with -current.
|
1.8.6.1 | 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.8.4.3 | 08-Jan-2002 |
nathanw | Catch up to -current.
|
1.8.4.2 | 14-Nov-2001 |
nathanw | Catch up to -current.
|
1.8.4.1 | 21-Sep-2001 |
nathanw | Catch up to -current.
|
1.11.26.1 | 12-Feb-2005 |
yamt | sync with head.
|
1.11.24.1 | 29-Apr-2005 |
kent | sync with -current
|
1.11.16.1 | 04-Feb-2005 |
skrll | Sync with HEAD.
|
1.12.6.2 | 03-Sep-2007 |
yamt | sync with head.
|
1.12.6.1 | 21-Jun-2006 |
yamt | sync with head.
|
1.13.6.1 | 22-Apr-2006 |
simonb | Sync with head.
|
1.13.4.1 | 09-Sep-2006 |
rpaulo | sync with head
|
1.13.2.1 | 18-Feb-2006 |
yamt | sync with head.
|
1.14.20.1 | 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.15.40.3 | 11-Aug-2010 |
yamt | sync with head.
|
1.15.40.2 | 04-May-2009 |
yamt | sync with head.
|
1.15.40.1 | 16-May-2008 |
yamt | sync with head.
|
1.15.38.1 | 18-May-2008 |
yamt | sync with head.
|
1.15.36.1 | 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.16.14.1 | 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.16.8.1 | 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.18.4.1 | 30-May-2010 |
rmind | sync with head
|
1.18.2.1 | 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.19.12.1 | 29-Apr-2012 |
mrg | sync to latest -current.
|
1.19.8.1 | 23-May-2012 |
yamt | sync with head.
|
1.20.24.1 | 21-Apr-2017 |
bouyer | Sync with HEAD
|
1.20.20.1 | 20-Mar-2017 |
pgoyette | Sync with HEAD
|
1.20.16.1 | 05-Feb-2017 |
skrll | Sync with HEAD
|
1.20.2.1 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.21.14.2 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.21.14.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.21.12.1 | 26-Dec-2018 |
pgoyette | Sync with HEAD, resolve a few conflicts
|
1.31.2.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.6 | 10-Aug-2019 |
rin | branches: 1.6.8; 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.
|
1.5 | 09-Aug-2019 |
rin | Correctly check whether character is in font in rasops_mapchar(). Also, make sure that in putchar functions for completeness.
|
1.4 | 07-Aug-2019 |
rin | 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.
|
1.3 | 07-Aug-2019 |
rin | Use "hp" instead of "hrp" consistently with other files. No functional changes.
|
1.2 | 29-Jul-2019 |
rin | branches: 1.2.2; Try to fix problem reported by ryoon: http://mail-index.netbsd.org/source-changes-d/2019/07/29/msg011516.html
There are apparent bugs for shadow framebuffer. Sorry for the breakage.
|
1.1 | 29-Jul-2019 |
rin | Clean up for rasops1.c: - dedup ugly copy-paste - rewrite to factorize width-optimized putchar functions - misc style
|
1.2.2.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.6.8.2 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.6.8.1 | 10-Aug-2019 |
martin | file rasops1_putchar_width.h was added on branch phil-wifi on 2020-04-13 08:04:47 +0000
|
1.34 | 29-May-2022 |
andvar | s/littel/little/ mainly in copy pasted comments.
|
1.33 | 14-Aug-2019 |
rin | When using stamp, drop attributions other than back and foreground colors so that stamp is not updated unnecessarily.
|
1.32 | 10-Aug-2019 |
rin | 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.
|
1.31 | 07-Aug-2019 |
rin | Separate general putchar for 1-4bpp from rasops_bitops: - Support anti-aliasing for 2bpp, which works perfectly! - Support scaling underline dimensions with font height.
|
1.30 | 07-Aug-2019 |
rin | 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.
|
1.29 | 02-Aug-2019 |
rin | 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.
|
1.28 | 31-Jul-2019 |
rin | Switch to per-device stamp, and retire stamp_mutex.
XXX Bump kernel version after other changes for struct rasops_info.
|
1.27 | 31-Jul-2019 |
rin | 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
|
1.26 | 29-Jul-2019 |
rin | branches: 1.26.2; Convert rasops2.c and rasops4.c to use rasops_putchar_width.h. Style.
|
1.25 | 28-Jul-2019 |
rin | Cast attr to uint32_t before right shift to avoid undefined behavior.
Also, misc style/cosmetic changes for clarity.
|
1.24 | 28-Jul-2019 |
rin | Fix corruption of background-colored white space and underline when font width is 8 or 16 on 2bpp screen.
|
1.23 | 25-Jul-2019 |
rin | Provide and use FONT_GLYPH macro, tiny optimization version of WSFONT_GLYPH.
|
1.22 | 25-Jul-2019 |
rin | Misc cleen up: - Make 32bit mask unsigned - DPRINTF --> __nothing ifndef DEBUG_RASOPS - "#ifdef DIAGNOSTIC if (x) panic(); #endif" --> KASSERT(!x); - KNF
No functional changes intended.
|
1.21 | 24-Jul-2019 |
rin | Use unsigned integers for binary data storage. No functional changes intended.
|
1.20 | 24-Jul-2019 |
rin | Style: - u_char --> uint8_t - u_int*_t --> uint*_t
No functional changes.
|
1.19 | 04-Dec-2018 |
mlelstv | rasops reused wscons attribute bits for internal control. - make upper 4 attribute bits available for such use - use wscons flag names instead of literal constants.
|
1.18 | 21-Apr-2013 |
kiyohara | branches: 1.18.34; 1.18.36; Support little endian makestamp.
|
1.17 | 04-May-2010 |
macallan | branches: 1.17.8; 1.17.18; remove now redundant ri = ... lines in putchar() methods Looks like none of my usual test builds used rasops2.c
|
1.16 | 04-May-2010 |
nonaka | fix compile failure.
|
1.15 | 04-May-2010 |
macallan | autogenerate box drawing characters for fonts that don't have them, put them into an alternate font pointed at by the recently added mappings in wsfont, adapt all putchar() methods except the rotated ones to use them XXX no attempt has been made to make this work with rotation
|
1.14 | 14-Mar-2009 |
dsl | branches: 1.14.2; 1.14.4; 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.13 | 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.12 | 28-Apr-2008 |
martin | branches: 1.12.8; 1.12.14; Remove clause 3 and 4 from TNF licenses
|
1.11 | 11-Dec-2005 |
christos | branches: 1.11.70; 1.11.72; 1.11.74; merge ktrace-lwp.
|
1.10 | 04-Feb-2005 |
perry | de-__P
|
1.9 | 15-Nov-2001 |
lukem | branches: 1.9.16; 1.9.24; 1.9.26; don't need <sys/types.h> when including <sys/param.h>
|
1.8 | 13-Nov-2001 |
lukem | add/cleanup RCSIDs
|
1.7 | 10-Aug-2001 |
bjh21 | Adjust #ifdefs so RASOPS_SMALL doesn't give "defined but not used" warnings.
|
1.6 | 13-Jun-2000 |
ad | branches: 1.6.4; 1.6.6; Use my proper name.
|
1.5 | 12-Apr-2000 |
pk | branches: 1.5.2; * Spell shift counts in decimal and masks in hex * Optimize numerous array references * Cleanup whitespace turds
|
1.4 | 23-Oct-1999 |
ad | - New option (RASOPS_SMALL) for the tight-fisted. - Don't use int32_t/u_int32_t unless we must. - Remove C++ single line comment delimeters that crept in. - Remove defs pertaining to byte granularity 'ragged-edge' bitmasks. - Move all declarations of per-depth initialization functions to rasops.h. - Other minor cleanup.
|
1.3 | 21-Jul-1999 |
ad | branches: 1.3.2; 1.3.4; 1.3.6; - Style nits - Kill some of the dainbramage in variable-depth copycols()
|
1.2 | 18-May-1999 |
ad | branches: 1.2.2; Assign ownership & copyright to TNF. There is probably a procedure for this that I am unaware of. Also some KNF.
|
1.1 | 26-Apr-1999 |
ad | Innumerable fixes and improvements. README contains list of remaining bugs that need to be squashed.
|
1.2.2.2 | 02-Aug-1999 |
thorpej | Update from trunk.
|
1.2.2.1 | 21-Jun-1999 |
thorpej | Sync w/ -current.
|
1.3.6.1 | 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.3.4.1 | 15-Nov-1999 |
fvdl | Sync with -current
|
1.3.2.1 | 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.5.2.1 | 22-Jun-2000 |
minoura | Sync w/ netbsd-1-5-base.
|
1.6.6.2 | 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.6.6.1 | 25-Aug-2001 |
thorpej | Merge Aug 24 -current into the kqueue branch.
|
1.6.4.3 | 08-Jan-2002 |
nathanw | Catch up to -current.
|
1.6.4.2 | 14-Nov-2001 |
nathanw | Catch up to -current.
|
1.6.4.1 | 24-Aug-2001 |
nathanw | Catch up with -current.
|
1.9.26.1 | 12-Feb-2005 |
yamt | sync with head.
|
1.9.24.1 | 29-Apr-2005 |
kent | sync with -current
|
1.9.16.1 | 04-Feb-2005 |
skrll | Sync with HEAD.
|
1.11.74.3 | 11-Aug-2010 |
yamt | sync with head.
|
1.11.74.2 | 04-May-2009 |
yamt | sync with head.
|
1.11.74.1 | 16-May-2008 |
yamt | sync with head.
|
1.11.72.1 | 18-May-2008 |
yamt | sync with head.
|
1.11.70.1 | 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.12.14.1 | 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.12.8.1 | 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.14.4.1 | 30-May-2010 |
rmind | sync with head
|
1.14.2.1 | 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.17.18.1 | 23-Jun-2013 |
tls | resync from head
|
1.17.8.1 | 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.18.36.2 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.18.36.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.18.34.1 | 26-Dec-2018 |
pgoyette | Sync with HEAD, resolve a few conflicts
|
1.26.2.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.50 | 14-Aug-2019 |
rin | When using stamp, drop attributions other than back and foreground colors so that stamp is not updated unnecessarily.
|
1.49 | 10-Aug-2019 |
rin | 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.
|
1.48 | 07-Aug-2019 |
rin | Merge rasops_putchar_aa.h into rasops_putchar.h. Support scaling underline dimensions by font height.
|
1.47 | 07-Aug-2019 |
rin | 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.
|
1.46 | 02-Aug-2019 |
rin | 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).
|
1.45 | 02-Aug-2019 |
rin | 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
|
1.44 | 02-Aug-2019 |
rin | 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.
|
1.43 | 31-Jul-2019 |
rin | Factor out copy-paste. No functional changes.
|
1.42 | 31-Jul-2019 |
rin | Provide buffer capable of single-row pixels in order to make things simpler.
XXX Bump kernel version for rasops_info later.
|
1.41 | 31-Jul-2019 |
rin | Switch to per-device stamp, and retire stamp_mutex.
XXX Bump kernel version after other changes for struct rasops_info.
|
1.40 | 31-Jul-2019 |
rin | 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
|
1.39 | 30-Jul-2019 |
rin | branches: 1.39.2; Support shadow framebuffer for 24bpp screen.
|
1.38 | 29-Jul-2019 |
rin | Hmmm, color was still strange for 24bpp on little endian machine, only when font width is 12.
We need to use different devcmap for that case, if we wish to share codes for other depths/font widths as possible as we can.
XXX What should we do for big endian? I have no big endian machines with 24bpp framebuffer...
|
1.37 | 29-Jul-2019 |
rin | Support anti-aliasing for depth 24.
|
1.36 | 28-Jul-2019 |
rin | Cast attr to uint32_t before right shift to avoid undefined behavior.
Also, misc style/cosmetic changes for clarity.
|
1.35 | 25-Jul-2019 |
rin | Factor out putchar and width-optimized putchar functions into rasops_putchar.h and rasops_putchar_width.h, respectively.
XXX Possibly, we can do the same for putchar_aa functions. But it is currently missing for 24-bpp.
|
1.34 | 25-Jul-2019 |
rin | Provide and use FONT_GLYPH macro, tiny optimization version of WSFONT_GLYPH.
|
1.33 | 25-Jul-2019 |
rin | Misc cleen up: - Make 32bit mask unsigned - DPRINTF --> __nothing ifndef DEBUG_RASOPS - "#ifdef DIAGNOSTIC if (x) panic(); #endif" --> KASSERT(!x); - KNF
No functional changes intended.
|
1.32 | 24-Jul-2019 |
rin | Use unsigned integers for binary data storage. No functional changes intended.
|
1.31 | 24-Jul-2019 |
rin | Style: - u_char --> uint8_t - u_int*_t --> uint*_t
No functional changes.
|
1.30 | 04-Dec-2018 |
mlelstv | rasops reused wscons attribute bits for internal control. - make upper 4 attribute bits available for such use - use wscons flag names instead of literal constants.
|
1.29 | 25-Jul-2011 |
njoly | branches: 1.29.52; 1.29.54; Fix RASOPS_SMALL build
|
1.28 | 04-May-2010 |
macallan | autogenerate box drawing characters for fonts that don't have them, put them into an alternate font pointed at by the recently added mappings in wsfont, adapt all putchar() methods except the rotated ones to use them XXX no attempt has been made to make this work with rotation
|
1.27 | 14-Mar-2009 |
dsl | branches: 1.27.2; 1.27.4; 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.26 | 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.25 | 28-Apr-2008 |
martin | branches: 1.25.8; 1.25.14; Remove clause 3 and 4 from TNF licenses
|
1.24 | 04-Mar-2007 |
christos | branches: 1.24.36; 1.24.38; 1.24.40; fix fallout from caddr_t changes.
|
1.23 | 04-Mar-2007 |
christos | Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
1.22 | 29-Jan-2006 |
dsl | branches: 1.22.24; Make almost everything #include <sys/bswap.h> instead of <machine/bswap.h> The bswap.h and endian.h files are all rather incestuous, but I want to get the constant folding stuff into one place - sys/bswap.h
|
1.21 | 11-Dec-2005 |
christos | branches: 1.21.2; merge ktrace-lwp.
|
1.20 | 30-May-2005 |
christos | branches: 1.20.2; avoid shadow variable "stamp"
|
1.19 | 27-Feb-2005 |
perry | nuke trailing whitespace
|
1.18 | 04-Feb-2005 |
perry | de-__P
|
1.17 | 05-Sep-2002 |
petrov | branches: 1.17.6; 1.17.14; 1.17.16; compiler warning.
|
1.16 | 15-Nov-2001 |
lukem | don't need <sys/types.h> when including <sys/param.h>
|
1.15 | 13-Nov-2001 |
lukem | add/cleanup RCSIDs
|
1.14 | 18-Sep-2001 |
wiz | Give initiali[sz]e all the "i"s it deserves.
|
1.13 | 13-Jun-2000 |
ad | branches: 1.13.4; 1.13.6; 1.13.8; Use my proper name.
|
1.12 | 12-Apr-2000 |
pk | branches: 1.12.2; * Spell shift counts in decimal and masks in hex * Optimize numerous array references * Cleanup whitespace turds
|
1.11 | 12-Feb-2000 |
ad | Misplaced #endif.
|
1.10 | 12-Feb-2000 |
ad | Fix the unaligned accesses discovered by dbj.
|
1.9 | 23-Oct-1999 |
ad | - New option (RASOPS_SMALL) for the tight-fisted. - Don't use int32_t/u_int32_t unless we must. - Remove C++ single line comment delimeters that crept in. - Remove defs pertaining to byte granularity 'ragged-edge' bitmasks. - Move all declarations of per-depth initialization functions to rasops.h. - Other minor cleanup.
|
1.8 | 25-Aug-1999 |
ad | branches: 1.8.2; 1.8.4; 1.8.6; When clearing the entire display, point to the start of the framebuffer, not start of console output. Also, do not advance by ri_delta every row.
|
1.7 | 24-Aug-1999 |
ad | - Change the semantics of rasops_init slightly - Re-name rasops_setfont to rasops_reconfig - Add some new run-time 'features' - Bring all run-time 'features' under control of rasops_info::ri_flg - Some cosmetic changes
|
1.6 | 18-May-1999 |
ad | branches: 1.6.2; Assign ownership & copyright to TNF. There is probably a procedure for this that I am unaware of. Also some KNF.
|
1.5 | 26-Apr-1999 |
ad | Remove crud remaining from userland mockup.
|
1.4 | 26-Apr-1999 |
ad | Innumerable fixes and improvements. README contains list of remaining bugs that need to be squashed.
|
1.3 | 13-Apr-1999 |
ad | Code cleanup. Add ri_bswap member to 'struct rasops_info' to indicate that framebuffer endianness differs from CPU (for 15,16,32-bit displays).
|
1.2 | 13-Apr-1999 |
ad | Fixed licensing due to a foobar on my behalf.
|
1.1 | 13-Apr-1999 |
ad | Initial import of 'rasops', the new raster operations set for wscons/rcons.
|
1.6.2.1 | 21-Jun-1999 |
thorpej | Sync w/ -current.
|
1.8.6.1 | 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.8.4.1 | 15-Nov-1999 |
fvdl | Sync with -current
|
1.8.2.1 | 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.12.2.1 | 22-Jun-2000 |
minoura | Sync w/ netbsd-1-5-base.
|
1.13.8.1 | 01-Oct-2001 |
fvdl | Catch up with -current.
|
1.13.6.2 | 10-Oct-2002 |
jdolecek | sync kqueue with -current; this includes merge of gehenna-devsw branch, merge of i386 MP branch, and part of autoconf rototil work
|
1.13.6.1 | 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.13.4.4 | 17-Sep-2002 |
nathanw | Catch up to -current.
|
1.13.4.3 | 08-Jan-2002 |
nathanw | Catch up to -current.
|
1.13.4.2 | 14-Nov-2001 |
nathanw | Catch up to -current.
|
1.13.4.1 | 21-Sep-2001 |
nathanw | Catch up to -current.
|
1.17.16.2 | 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.17.16.1 | 12-Feb-2005 |
yamt | sync with head.
|
1.17.14.1 | 29-Apr-2005 |
kent | sync with -current
|
1.17.6.3 | 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.17.6.2 | 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.17.6.1 | 04-Feb-2005 |
skrll | Sync with HEAD.
|
1.20.2.2 | 03-Sep-2007 |
yamt | sync with head.
|
1.20.2.1 | 21-Jun-2006 |
yamt | sync with head.
|
1.21.2.1 | 01-Feb-2006 |
yamt | sync with head.
|
1.22.24.1 | 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.24.40.3 | 11-Aug-2010 |
yamt | sync with head.
|
1.24.40.2 | 04-May-2009 |
yamt | sync with head.
|
1.24.40.1 | 16-May-2008 |
yamt | sync with head.
|
1.24.38.1 | 18-May-2008 |
yamt | sync with head.
|
1.24.36.1 | 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.25.14.1 | 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.25.8.1 | 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.27.4.1 | 30-May-2010 |
rmind | sync with head
|
1.27.2.1 | 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.29.54.2 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.29.54.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.29.52.1 | 26-Dec-2018 |
pgoyette | Sync with HEAD, resolve a few conflicts
|
1.39.2.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.46 | 14-Aug-2019 |
rin | When using stamp, drop attributions other than back and foreground colors so that stamp is not updated unnecessarily.
|
1.45 | 10-Aug-2019 |
rin | 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.
|
1.44 | 07-Aug-2019 |
rin | Merge rasops_putchar_aa.h into rasops_putchar.h. Support scaling underline dimensions by font height.
|
1.43 | 07-Aug-2019 |
rin | 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.
|
1.42 | 02-Aug-2019 |
rin | Cosmetic changes. No functional changes.
|
1.41 | 31-Jul-2019 |
rin | Switch to per-device stamp, and retire stamp_mutex.
XXX Bump kernel version after other changes for struct rasops_info.
|
1.40 | 31-Jul-2019 |
rin | 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
|
1.39 | 29-Jul-2019 |
rin | branches: 1.39.2; Factor out putchar_aa functions into rasops_putchar_aa.h, which includes the following fixes:
- stop using memset to framebuffer for depth 8 - correctly support non-standard positions/lengths of RGB bits in pixel
|
1.38 | 28-Jul-2019 |
rin | Cast attr to uint32_t before right shift to avoid undefined behavior.
Also, misc style/cosmetic changes for clarity.
|
1.37 | 25-Jul-2019 |
rin | Factor out putchar and width-optimized putchar functions into rasops_putchar.h and rasops_putchar_width.h, respectively.
XXX Possibly, we can do the same for putchar_aa functions. But it is currently missing for 24-bpp.
|
1.36 | 25-Jul-2019 |
rin | Add width-optimized putchar functions for 32-bpp, that work fine on both little- and big-endian machines.
WIP genfb(4) driver for mac68k becomes 1.5 times faster!
|
1.35 | 25-Jul-2019 |
rin | Provide and use FONT_GLYPH macro, tiny optimization version of WSFONT_GLYPH.
|
1.34 | 24-Jul-2019 |
rin | Use unsigned integers for binary data storage. No functional changes intended.
|
1.33 | 24-Jul-2019 |
rin | Style: - u_char --> uint8_t - u_int*_t --> uint*_t
No functional changes.
|
1.32 | 01-Mar-2019 |
jakllsch | Fix whitespace. (In the source code, not in the functionality.)
|
1.31 | 01-Mar-2019 |
jakllsch | Underline when the attribute say underline, not when it says to reverse.
|
1.30 | 01-Mar-2019 |
jakllsch | Reset 'height' before underlining in rasops32_putchar_aa().
Prevents segfault when underlining whitespace in the upper left cell.
|
1.29 | 15-Sep-2013 |
martin | branches: 1.29.30; Remove unused variable
|
1.28 | 31-Jul-2013 |
macallan | rasops32_putchar_aa(): - underline the right characters - make drawing slightly less horribly inefficient - don't pretend to support a shadow fb
|
1.27 | 21-Mar-2013 |
martin | branches: 1.27.6; Ooops, backout local change not intended to be commited with the last change
|
1.26 | 21-Mar-2013 |
martin | Add syntatic sugar to avoid hurting my eyes
|
1.25 | 23-Oct-2012 |
macallan | make anti-aliased character drawing work on hardware where stride != width * bytes per pixel
|
1.24 | 04-Jan-2012 |
macallan | branches: 1.24.6; use CHAR_IN_FONT() and WSFONT_GLYPH() macros
|
1.23 | 03-Jan-2012 |
macallan | split putchar method into one for alpha fonts and one for bitmap fonts
|
1.22 | 27-Dec-2011 |
macallan | skip the multiplications for alpha values of 0 and 255, just use background and foreground colours there
|
1.21 | 24-Dec-2011 |
macallan | rename alpha variable to avoid conflict with a platform macro on alpha
|
1.20 | 22-Dec-2011 |
macallan | support anti-aliased fonts ( as in, pre-rendered alpha maps ), for now only in rasops32 although adding support in 15, 16 and 24 would be trivial. Enabled only if the driver explicitly requests it by setting the RI_ENABLE_ALPHA flag.
|
1.19 | 04-May-2010 |
macallan | branches: 1.19.8; 1.19.12; autogenerate box drawing characters for fonts that don't have them, put them into an alternate font pointed at by the recently added mappings in wsfont, adapt all putchar() methods except the rotated ones to use them XXX no attempt has been made to make this work with rotation
|
1.18 | 14-Mar-2009 |
dsl | branches: 1.18.2; 1.18.4; 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.17 | 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.16 | 28-Apr-2008 |
martin | branches: 1.16.8; 1.16.14; Remove clause 3 and 4 from TNF licenses
|
1.15 | 18-Feb-2006 |
jmcneill | branches: 1.15.64; 1.15.66; 1.15.68; Add shadow framebuffer support.
|
1.14 | 11-Dec-2005 |
christos | branches: 1.14.2; 1.14.4; 1.14.6; merge ktrace-lwp.
|
1.13 | 04-Feb-2005 |
perry | branches: 1.13.6; de-__P
|
1.12 | 16-Apr-2003 |
petrov | branches: 1.12.2; 1.12.10; 1.12.12; rasops32_putchar: don't paint character out of font limits.
|
1.11 | 15-Nov-2001 |
lukem | don't need <sys/types.h> when including <sys/param.h>
|
1.10 | 13-Nov-2001 |
lukem | add/cleanup RCSIDs
|
1.9 | 18-Sep-2001 |
wiz | Give initiali[sz]e all the "i"s it deserves.
|
1.8 | 13-Jun-2000 |
ad | branches: 1.8.4; 1.8.6; 1.8.8; Use my proper name.
|
1.7 | 12-Apr-2000 |
pk | branches: 1.7.2; * Spell shift counts in decimal and masks in hex * Optimize numerous array references * Cleanup whitespace turds
|
1.6 | 24-Oct-1999 |
ad | Wrap a line properly.
|
1.5 | 23-Oct-1999 |
ad | - New option (RASOPS_SMALL) for the tight-fisted. - Don't use int32_t/u_int32_t unless we must. - Remove C++ single line comment delimeters that crept in. - Remove defs pertaining to byte granularity 'ragged-edge' bitmasks. - Move all declarations of per-depth initialization functions to rasops.h. - Other minor cleanup.
|
1.4 | 18-May-1999 |
ad | branches: 1.4.2; 1.4.4; 1.4.6; 1.4.8; Assign ownership & copyright to TNF. There is probably a procedure for this that I am unaware of. Also some KNF.
|
1.3 | 26-Apr-1999 |
ad | Innumerable fixes and improvements. README contains list of remaining bugs that need to be squashed.
|
1.2 | 13-Apr-1999 |
ad | Fixed licensing due to a foobar on my behalf.
|
1.1 | 13-Apr-1999 |
ad | Initial import of 'rasops', the new raster operations set for wscons/rcons.
|
1.4.8.1 | 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.4.6.1 | 15-Nov-1999 |
fvdl | Sync with -current
|
1.4.4.1 | 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.4.2.1 | 21-Jun-1999 |
thorpej | Sync w/ -current.
|
1.7.2.1 | 22-Jun-2000 |
minoura | Sync w/ netbsd-1-5-base.
|
1.8.8.1 | 01-Oct-2001 |
fvdl | Catch up with -current.
|
1.8.6.1 | 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.8.4.3 | 08-Jan-2002 |
nathanw | Catch up to -current.
|
1.8.4.2 | 14-Nov-2001 |
nathanw | Catch up to -current.
|
1.8.4.1 | 21-Sep-2001 |
nathanw | Catch up to -current.
|
1.12.12.1 | 12-Feb-2005 |
yamt | sync with head.
|
1.12.10.1 | 29-Apr-2005 |
kent | sync with -current
|
1.12.2.1 | 04-Feb-2005 |
skrll | Sync with HEAD.
|
1.13.6.1 | 21-Jun-2006 |
yamt | sync with head.
|
1.14.6.1 | 22-Apr-2006 |
simonb | Sync with head.
|
1.14.4.1 | 09-Sep-2006 |
rpaulo | sync with head
|
1.14.2.1 | 18-Feb-2006 |
yamt | sync with head.
|
1.15.68.3 | 11-Aug-2010 |
yamt | sync with head.
|
1.15.68.2 | 04-May-2009 |
yamt | sync with head.
|
1.15.68.1 | 16-May-2008 |
yamt | sync with head.
|
1.15.66.1 | 18-May-2008 |
yamt | sync with head.
|
1.15.64.1 | 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.16.14.1 | 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.16.8.1 | 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.18.4.1 | 30-May-2010 |
rmind | sync with head
|
1.18.2.1 | 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.19.12.1 | 18-Feb-2012 |
mrg | merge to -current.
|
1.19.8.3 | 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.19.8.2 | 30-Oct-2012 |
yamt | sync with head
|
1.19.8.1 | 17-Apr-2012 |
yamt | sync with head
|
1.24.6.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.24.6.1 | 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.27.6.2 | 18-May-2014 |
rmind | sync with head
|
1.27.6.1 | 28-Aug-2013 |
rmind | sync with head
|
1.29.30.2 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.29.30.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.39.2.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.28 | 14-Aug-2019 |
rin | When using stamp, drop attributions other than back and foreground colors so that stamp is not updated unnecessarily.
|
1.27 | 10-Aug-2019 |
rin | 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.
|
1.26 | 07-Aug-2019 |
rin | Separate general putchar for 1-4bpp from rasops_bitops: - Support anti-aliasing for 2bpp, which works perfectly! - Support scaling underline dimensions with font height.
|
1.25 | 07-Aug-2019 |
rin | 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.
|
1.24 | 02-Aug-2019 |
rin | 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.
|
1.23 | 01-Aug-2019 |
rin | 4 is 1 << 2, not 1 << 3...
|
1.22 | 31-Jul-2019 |
rin | Switch to per-device stamp, and retire stamp_mutex.
XXX Bump kernel version after other changes for struct rasops_info.
|
1.21 | 31-Jul-2019 |
rin | 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
|
1.20 | 29-Jul-2019 |
rin | branches: 1.20.2; Convert rasops2.c and rasops4.c to use rasops_putchar_width.h. Style.
|
1.19 | 28-Jul-2019 |
rin | Cast attr to uint32_t before right shift to avoid undefined behavior.
Also, misc style/cosmetic changes for clarity.
|
1.18 | 26-Jul-2019 |
rin | Fix 4-bpp stamp for big endian.
|
1.17 | 25-Jul-2019 |
rin | Provide and use FONT_GLYPH macro, tiny optimization version of WSFONT_GLYPH.
|
1.16 | 25-Jul-2019 |
rin | Misc cleen up: - Make 32bit mask unsigned - DPRINTF --> __nothing ifndef DEBUG_RASOPS - "#ifdef DIAGNOSTIC if (x) panic(); #endif" --> KASSERT(!x); - KNF
No functional changes intended.
|
1.15 | 24-Jul-2019 |
rin | Use unsigned integers for binary data storage. No functional changes intended.
|
1.14 | 24-Jul-2019 |
rin | Style: - u_char --> uint8_t - u_int*_t --> uint*_t
No functional changes.
|
1.13 | 05-Dec-2018 |
mlelstv | It's WSATTR_UNDERLINE, not WS_UNDERLINE.
|
1.12 | 04-Dec-2018 |
mlelstv | rasops reused wscons attribute bits for internal control. - make upper 4 attribute bits available for such use - use wscons flag names instead of literal constants.
|
1.11 | 21-Apr-2013 |
kiyohara | branches: 1.11.34; 1.11.36; Support little endian makestamp.
|
1.10 | 04-May-2010 |
macallan | branches: 1.10.8; 1.10.18; autogenerate box drawing characters for fonts that don't have them, put them into an alternate font pointed at by the recently added mappings in wsfont, adapt all putchar() methods except the rotated ones to use them XXX no attempt has been made to make this work with rotation
|
1.9 | 14-Mar-2009 |
dsl | branches: 1.9.2; 1.9.4; 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 | 28-Apr-2008 |
martin | branches: 1.7.8; 1.7.14; Remove clause 3 and 4 from TNF licenses
|
1.6 | 11-Dec-2005 |
christos | branches: 1.6.70; 1.6.72; 1.6.74; merge ktrace-lwp.
|
1.5 | 04-Feb-2005 |
perry | de-__P
|
1.4 | 15-Nov-2001 |
lukem | branches: 1.4.16; 1.4.24; 1.4.26; don't need <sys/types.h> when including <sys/param.h>
|
1.3 | 13-Nov-2001 |
lukem | add/cleanup RCSIDs
|
1.2 | 10-Aug-2001 |
bjh21 | Adjust #ifdefs so RASOPS_SMALL doesn't give "defined but not used" warnings.
|
1.1 | 21-Jan-2001 |
takemura | branches: 1.1.2; 1.1.4; 1.1.6; Rasops supports 4bit depth.
|
1.1.6.2 | 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.1.6.1 | 25-Aug-2001 |
thorpej | Merge Aug 24 -current into the kqueue branch.
|
1.1.4.3 | 08-Jan-2002 |
nathanw | Catch up to -current.
|
1.1.4.2 | 14-Nov-2001 |
nathanw | Catch up to -current.
|
1.1.4.1 | 24-Aug-2001 |
nathanw | Catch up with -current.
|
1.1.2.2 | 11-Feb-2001 |
bouyer | Sync with HEAD.
|
1.1.2.1 | 21-Jan-2001 |
bouyer | file rasops4.c was added on branch thorpej_scsipi on 2001-02-11 19:16:18 +0000
|
1.4.26.1 | 12-Feb-2005 |
yamt | sync with head.
|
1.4.24.1 | 29-Apr-2005 |
kent | sync with -current
|
1.4.16.1 | 04-Feb-2005 |
skrll | Sync with HEAD.
|
1.6.74.3 | 11-Aug-2010 |
yamt | sync with head.
|
1.6.74.2 | 04-May-2009 |
yamt | sync with head.
|
1.6.74.1 | 16-May-2008 |
yamt | sync with head.
|
1.6.72.1 | 18-May-2008 |
yamt | sync with head.
|
1.6.70.1 | 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.7.14.1 | 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.7.8.1 | 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.9.4.1 | 30-May-2010 |
rmind | sync with head
|
1.9.2.1 | 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.10.18.1 | 23-Jun-2013 |
tls | resync from head
|
1.10.8.1 | 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.36.2 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.11.36.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.11.34.1 | 26-Dec-2018 |
pgoyette | Sync with HEAD, resolve a few conflicts
|
1.20.2.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.51 | 14-Aug-2019 |
rin | When using stamp, drop attributions other than back and foreground colors so that stamp is not updated unnecessarily.
|
1.50 | 10-Aug-2019 |
rin | 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.
|
1.49 | 07-Aug-2019 |
rin | Merge rasops_putchar_aa.h into rasops_putchar.h. Support scaling underline dimensions by font height.
|
1.48 | 07-Aug-2019 |
rin | 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.
|
1.47 | 02-Aug-2019 |
rin | Cosmetic changes. No functional changes.
|
1.46 | 31-Jul-2019 |
rin | Switch to per-device stamp, and retire stamp_mutex.
XXX Bump kernel version after other changes for struct rasops_info.
|
1.45 | 31-Jul-2019 |
rin | 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
|
1.44 | 29-Jul-2019 |
rin | branches: 1.44.2; Factor out putchar_aa functions into rasops_putchar_aa.h, which includes the following fixes:
- stop using memset to framebuffer for depth 8 - correctly support non-standard positions/lengths of RGB bits in pixel
|
1.43 | 28-Jul-2019 |
rin | Cast attr to uint32_t before right shift to avoid undefined behavior.
Also, misc style/cosmetic changes for clarity.
|
1.42 | 25-Jul-2019 |
rin | Factor out putchar and width-optimized putchar functions into rasops_putchar.h and rasops_putchar_width.h, respectively.
XXX Possibly, we can do the same for putchar_aa functions. But it is currently missing for 24-bpp.
|
1.41 | 25-Jul-2019 |
rin | Provide and use FONT_GLYPH macro, tiny optimization version of WSFONT_GLYPH.
|
1.40 | 25-Jul-2019 |
rin | Misc cleen up: - Make 32bit mask unsigned - DPRINTF --> __nothing ifndef DEBUG_RASOPS - "#ifdef DIAGNOSTIC if (x) panic(); #endif" --> KASSERT(!x); - KNF
No functional changes intended.
|
1.39 | 25-Jul-2019 |
rin | Cosmetic changes. No functional changes.
|
1.38 | 25-Jul-2019 |
rin | Fix screen corruption with 16-width font on 8-bpp display.
|
1.37 | 24-Jul-2019 |
rin | Use unsigned integers for binary data storage. No functional changes intended.
|
1.36 | 24-Jul-2019 |
rin | Style: - u_char --> uint8_t - u_int*_t --> uint*_t
No functional changes.
|
1.35 | 04-Dec-2018 |
mlelstv | rasops reused wscons attribute bits for internal control. - make upper 4 attribute bits available for such use - use wscons flag names instead of literal constants.
|
1.34 | 15-Sep-2013 |
martin | branches: 1.34.28; 1.34.30; Remove unused variables
|
1.33 | 21-Mar-2013 |
martin | branches: 1.33.6; Add syntatic sugar to avoid hurting my eyes
|
1.32 | 25-Jan-2012 |
macallan | branches: 1.32.6; use memset() to clear character cells instead of being terribly slow
|
1.31 | 25-Jan-2012 |
macallan | rasops8_putchar_aa(): render glyphs scanline by scanline into a 64bit-aligned buffer, then memcpy() it into video memory instead of writing directly. This gives >10% speedup even on valkyriefb, likely more on PCIe framebuffers.
|
1.30 | 04-Jan-2012 |
macallan | add support for anti-aliased fonts in r3g3b2
|
1.29 | 04-Jan-2012 |
macallan | use CHAR_IN_FONT() and WSFONT_GLYPH() macros
|
1.28 | 28-Dec-2011 |
macallan | add a new flag for ri_flg to allow drivers to request an r3g3b2 devcmap in 8 bit colour. Drivers are still responsible to generate an appropriate colour map for the actual hardware. For use with alpha blending which needs some sort of 'true' colour.
|
1.27 | 04-May-2010 |
macallan | branches: 1.27.8; 1.27.12; autogenerate box drawing characters for fonts that don't have them, put them into an alternate font pointed at by the recently added mappings in wsfont, adapt all putchar() methods except the rotated ones to use them XXX no attempt has been made to make this work with rotation
|
1.26 | 14-Mar-2009 |
dsl | branches: 1.26.2; 1.26.4; 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.25 | 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.24 | 28-Apr-2008 |
martin | branches: 1.24.8; 1.24.14; Remove clause 3 and 4 from TNF licenses
|
1.23 | 09-Dec-2007 |
jmcneill | branches: 1.23.10; 1.23.12; 1.23.14; Merge jmcneill-pm branch.
|
1.22 | 04-Mar-2007 |
christos | branches: 1.22.14; 1.22.16; 1.22.24; 1.22.26; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
1.21 | 18-Feb-2006 |
jmcneill | branches: 1.21.20; Add shadow framebuffer support.
|
1.20 | 11-Dec-2005 |
christos | branches: 1.20.2; 1.20.4; 1.20.6; merge ktrace-lwp.
|
1.19 | 03-Sep-2005 |
uwe | We don't need <sys/bswap.h> here.
|
1.18 | 04-Feb-2005 |
perry | branches: 1.18.6; de-__P
|
1.17 | 05-Mar-2004 |
petrov | branches: 1.17.8; 1.17.10; Check character if it in font limits before drawing it in rasops8_putchar functions.
|
1.16 | 11-Feb-2002 |
uwe | branches: 1.16.16; Undo previous that incorrectly byte-swaps stamps for little endian machines when RI_BSWAP is *not* set. Redo my original fix to directly build stamps in desired endianness instead of calling bswap32().
|
1.15 | 08-Feb-2002 |
uch | | Module Name: syssrc | Committed By: uwe | Date: Thu Jan 31 11:18:08 UTC 2002 | | Modified Files: | syssrc/sys/dev/rasops: rasops8.c | | Log Message: | Honor RI_BSWAP.
Endian fix.
|
1.14 | 31-Jan-2002 |
uwe | Honor RI_BSWAP.
|
1.13 | 15-Nov-2001 |
lukem | don't need <sys/types.h> when including <sys/param.h>
|
1.12 | 13-Nov-2001 |
lukem | add/cleanup RCSIDs
|
1.11 | 18-Sep-2001 |
wiz | Give initiali[sz]e all the "i"s it deserves.
|
1.10 | 10-Aug-2001 |
bjh21 | branches: 1.10.2; Adjust #ifdefs so RASOPS_SMALL doesn't give "defined but not used" warnings.
|
1.9 | 13-Jun-2000 |
ad | branches: 1.9.4; 1.9.6; Use my proper name.
|
1.8 | 12-Apr-2000 |
pk | branches: 1.8.2; * Spell shift counts in decimal and masks in hex * Optimize numerous array references * Cleanup whitespace turds
|
1.7 | 23-Oct-1999 |
ad | - New option (RASOPS_SMALL) for the tight-fisted. - Don't use int32_t/u_int32_t unless we must. - Remove C++ single line comment delimeters that crept in. - Remove defs pertaining to byte granularity 'ragged-edge' bitmasks. - Move all declarations of per-depth initialization functions to rasops.h. - Other minor cleanup.
|
1.6 | 19-Aug-1999 |
ad | branches: 1.6.2; 1.6.4; 1.6.6; Make this compile. Patch from Simon Burge.
|
1.5 | 13-Aug-1999 |
ad | Pass color index through ri_devcmap; don't assume that it already matches the device's color map.
|
1.4 | 18-May-1999 |
ad | branches: 1.4.2; Assign ownership & copyright to TNF. There is probably a procedure for this that I am unaware of. Also some KNF.
|
1.3 | 26-Apr-1999 |
ad | Innumerable fixes and improvements. README contains list of remaining bugs that need to be squashed.
|
1.2 | 13-Apr-1999 |
ad | Fixed licensing due to a foobar on my behalf.
|
1.1 | 13-Apr-1999 |
ad | Initial import of 'rasops', the new raster operations set for wscons/rcons.
|
1.4.2.1 | 21-Jun-1999 |
thorpej | Sync w/ -current.
|
1.6.6.1 | 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.6.4.1 | 15-Nov-1999 |
fvdl | Sync with -current
|
1.6.2.1 | 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.8.2.1 | 22-Jun-2000 |
minoura | Sync w/ netbsd-1-5-base.
|
1.9.6.4 | 16-Mar-2002 |
jdolecek | Catch up with -current.
|
1.9.6.3 | 11-Feb-2002 |
jdolecek | Sync w/ -current.
|
1.9.6.2 | 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.9.6.1 | 25-Aug-2001 |
thorpej | Merge Aug 24 -current into the kqueue branch.
|
1.9.4.5 | 28-Feb-2002 |
nathanw | Catch up to -current.
|
1.9.4.4 | 08-Jan-2002 |
nathanw | Catch up to -current.
|
1.9.4.3 | 14-Nov-2001 |
nathanw | Catch up to -current.
|
1.9.4.2 | 21-Sep-2001 |
nathanw | Catch up to -current.
|
1.9.4.1 | 24-Aug-2001 |
nathanw | Catch up with -current.
|
1.10.2.1 | 01-Oct-2001 |
fvdl | Catch up with -current.
|
1.16.16.5 | 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.16.16.4 | 04-Feb-2005 |
skrll | Sync with HEAD.
|
1.16.16.3 | 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.16.16.2 | 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.16.16.1 | 03-Aug-2004 |
skrll | Sync with HEAD
|
1.17.10.1 | 12-Feb-2005 |
yamt | sync with head.
|
1.17.8.1 | 29-Apr-2005 |
kent | sync with -current
|
1.18.6.3 | 21-Jan-2008 |
yamt | sync with head
|
1.18.6.2 | 03-Sep-2007 |
yamt | sync with head.
|
1.18.6.1 | 21-Jun-2006 |
yamt | sync with head.
|
1.20.6.1 | 22-Apr-2006 |
simonb | Sync with head.
|
1.20.4.1 | 09-Sep-2006 |
rpaulo | sync with head
|
1.20.2.1 | 18-Feb-2006 |
yamt | sync with head.
|
1.21.20.1 | 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.22.26.1 | 11-Dec-2007 |
yamt | sync with head.
|
1.22.24.1 | 26-Dec-2007 |
ad | Sync with head.
|
1.22.16.1 | 09-Jan-2008 |
matt | sync with HEAD
|
1.22.14.1 | 03-Aug-2007 |
jmcneill | Pull in power management changes from private branch.
|
1.23.14.3 | 11-Aug-2010 |
yamt | sync with head.
|
1.23.14.2 | 04-May-2009 |
yamt | sync with head.
|
1.23.14.1 | 16-May-2008 |
yamt | sync with head.
|
1.23.12.1 | 18-May-2008 |
yamt | sync with head.
|
1.23.10.1 | 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.24.14.1 | 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.24.8.1 | 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.26.4.1 | 30-May-2010 |
rmind | sync with head
|
1.26.2.1 | 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.27.12.1 | 18-Feb-2012 |
mrg | merge to -current.
|
1.27.8.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.27.8.1 | 17-Apr-2012 |
yamt | sync with head
|
1.32.6.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.32.6.1 | 23-Jun-2013 |
tls | resync from head
|
1.33.6.1 | 18-May-2014 |
rmind | sync with head
|
1.34.30.2 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.34.30.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.34.28.1 | 26-Dec-2018 |
pgoyette | Sync with HEAD, resolve a few conflicts
|
1.44.2.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.25 | 10-Aug-2019 |
rin | 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.
|
1.24 | 07-Aug-2019 |
rin | Separate general putchar for 1-4bpp from rasops_bitops: - Support anti-aliasing for 2bpp, which works perfectly! - Support scaling underline dimensions with font height.
|
1.23 | 02-Aug-2019 |
rin | 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.
|
1.22 | 02-Aug-2019 |
rin | 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
|
1.21 | 02-Aug-2019 |
rin | Correct copy count. This affects ``left-to-right'' copy for region including word boundary.
|
1.20 | 02-Aug-2019 |
rin | Remove duplicate substitution. Style. No functional changes.
|
1.19 | 01-Aug-2019 |
rin | Fix erasecols and do_cursor for font width >= 32 bits. Also, some cosmetic clean-up's.
|
1.18 | 30-Jul-2019 |
rin | branches: 1.18.2; Try to improve performance when shadow framebuffer is present; Use block copy from shadow fb to real fb, instead of repeating the same operations to two fb's.
|
1.17 | 28-Jul-2019 |
rin | Cast attr to uint32_t before right shift to avoid undefined behavior.
Also, misc style/cosmetic changes for clarity.
|
1.16 | 25-Jul-2019 |
rin | Misc cleen up: - Make 32bit mask unsigned - DPRINTF --> __nothing ifndef DEBUG_RASOPS - "#ifdef DIAGNOSTIC if (x) panic(); #endif" --> KASSERT(!x); - KNF
No functional changes intended.
|
1.15 | 02-Dec-2013 |
tsutsui | branches: 1.15.30; Fix 1 bpp rasops copycols() op:
- fix inverted shift direction in MBL() and MBR() macro in BE case (used by GETBITS() and PUTBITS() in copycols() function in rasops_bitops.h) - make all bitmask values unsigned and use proper uint32_t types for bitmap variables (to avoid arithmetic right shift) - fix various botches in right-to-left copy op (logic is taken from hp300)
Tested on bwtwo(4) on NetBSD/sparc.
|
1.14 | 21-May-2013 |
tsutsui | branches: 1.14.2; Fix another typo which causes decrement against a NULL pointer.
Also revert rev 1.9, which shut up gcc's "uninitialized variable" warning that actually pointed out the typo correctly. Oh well.
|
1.13 | 21-May-2013 |
tsutsui | Fix fatal (but probably unused) typo in ri->ri_hwbits case in copycols.
|
1.12 | 08-Apr-2010 |
macallan | branches: 1.12.8; 1.12.18; add support for shadow framebuffers tested on sparc with a cg12
|
1.11 | 15-Mar-2009 |
cegger | branches: 1.11.2; 1.11.4; ansify function definitions
|
1.10 | 28-Apr-2008 |
martin | branches: 1.10.8; 1.10.14; Remove clause 3 and 4 from TNF licenses
|
1.9 | 18-May-2006 |
mrg | branches: 1.9.58; 1.9.60; 1.9.62; quieten GCC uninitialise variable warnings.
|
1.8 | 31-May-2002 |
thorpej | branches: 1.8.22; 1.8.36; 1.8.38; 1.8.40; 1.8.44; Avoid sequence point error.
|
1.7 | 13-Jun-2000 |
ad | branches: 1.7.4; 1.7.6; 1.7.18; Use my proper name.
|
1.6 | 12-Apr-2000 |
pk | branches: 1.6.2; * Spell shift counts in decimal and masks in hex * Optimize numerous array references * Cleanup whitespace turds
|
1.5 | 23-Oct-1999 |
ad | - New option (RASOPS_SMALL) for the tight-fisted. - Don't use int32_t/u_int32_t unless we must. - Remove C++ single line comment delimeters that crept in. - Remove defs pertaining to byte granularity 'ragged-edge' bitmasks. - Move all declarations of per-depth initialization functions to rasops.h. - Other minor cleanup.
|
1.4 | 21-Jul-1999 |
ad | branches: 1.4.2; 1.4.4; 1.4.6; - Style nits - Kill some of the dainbramage in variable-depth copycols()
|
1.3 | 18-May-1999 |
ad | branches: 1.3.2; Assign ownership & copyright to TNF. There is probably a procedure for this that I am unaware of. Also some KNF.
|
1.2 | 29-Apr-1999 |
ad | Initialize db in copycols() to zero to pacify gcc, as noted by Simon Burge. This doesn't change anything until it's fixed.
|
1.1 | 26-Apr-1999 |
ad | Innumerable fixes and improvements. README contains list of remaining bugs that need to be squashed.
|
1.3.2.2 | 02-Aug-1999 |
thorpej | Update from trunk.
|
1.3.2.1 | 21-Jun-1999 |
thorpej | Sync w/ -current.
|
1.4.6.1 | 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.4.4.1 | 15-Nov-1999 |
fvdl | Sync with -current
|
1.4.2.1 | 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.6.2.1 | 22-Jun-2000 |
minoura | Sync w/ netbsd-1-5-base.
|
1.7.18.1 | 20-Jun-2002 |
gehenna | catch up with -current.
|
1.7.6.1 | 23-Jun-2002 |
jdolecek | catch up with -current on kqueue branch
|
1.7.4.1 | 20-Jun-2002 |
nathanw | Catch up to -current.
|
1.8.44.1 | 24-May-2006 |
tron | Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
|
1.8.40.1 | 24-May-2006 |
yamt | sync with head.
|
1.8.38.1 | 01-Jun-2006 |
kardel | Sync with head.
|
1.8.36.1 | 09-Sep-2006 |
rpaulo | sync with head
|
1.8.22.1 | 21-Jun-2006 |
yamt | sync with head.
|
1.9.62.3 | 11-Aug-2010 |
yamt | sync with head.
|
1.9.62.2 | 04-May-2009 |
yamt | sync with head.
|
1.9.62.1 | 16-May-2008 |
yamt | sync with head.
|
1.9.60.1 | 18-May-2008 |
yamt | sync with head.
|
1.9.58.1 | 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.10.14.1 | 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.10.8.1 | 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.11.4.1 | 30-May-2010 |
rmind | sync with head
|
1.11.2.1 | 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.12.18.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.12.18.1 | 23-Jun-2013 |
tls | resync from head
|
1.12.8.1 | 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.14.2.1 | 18-May-2014 |
rmind | sync with head
|
1.15.30.1 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.18.2.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.10 | 10-Aug-2019 |
rin | 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.
|
1.9 | 02-Dec-2013 |
tsutsui | branches: 1.9.30; 1.9.36; Fix 1 bpp rasops copycols() op:
- fix inverted shift direction in MBL() and MBR() macro in BE case (used by GETBITS() and PUTBITS() in copycols() function in rasops_bitops.h) - make all bitmask values unsigned and use proper uint32_t types for bitmap variables (to avoid arithmetic right shift) - fix various botches in right-to-left copy op (logic is taken from hp300)
Tested on bwtwo(4) on NetBSD/sparc.
|
1.8 | 28-Apr-2008 |
martin | branches: 1.8.34; 1.8.44; 1.8.50; Remove clause 3 and 4 from TNF licenses
|
1.7 | 13-Nov-2001 |
lukem | branches: 1.7.114; 1.7.116; 1.7.118; add/cleanup RCSIDs
|
1.6 | 12-Jan-2001 |
bjh21 | branches: 1.6.2; 1.6.4; The mask tables have no excuse for being in the data segment.
|
1.5 | 13-Jun-2000 |
ad | Use my proper name.
|
1.4 | 12-Apr-2000 |
pk | branches: 1.4.2; * Spell shift counts in decimal and masks in hex * Optimize numerous array references * Cleanup whitespace turds
|
1.3 | 23-Oct-1999 |
ad | - New option (RASOPS_SMALL) for the tight-fisted. - Don't use int32_t/u_int32_t unless we must. - Remove C++ single line comment delimeters that crept in. - Remove defs pertaining to byte granularity 'ragged-edge' bitmasks. - Move all declarations of per-depth initialization functions to rasops.h. - Other minor cleanup.
|
1.2 | 18-May-1999 |
ad | branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8; Assign ownership & copyright to TNF. There is probably a procedure for this that I am unaware of. Also some KNF.
|
1.1 | 26-Apr-1999 |
ad | Innumerable fixes and improvements. README contains list of remaining bugs that need to be squashed.
|
1.2.8.1 | 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.2.6.1 | 15-Nov-1999 |
fvdl | Sync with -current
|
1.2.4.2 | 18-Jan-2001 |
bouyer | Sync with head (for UBC+NFS fixes, mostly).
|
1.2.4.1 | 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.2.2.1 | 21-Jun-1999 |
thorpej | Sync w/ -current.
|
1.4.2.1 | 22-Jun-2000 |
minoura | Sync w/ netbsd-1-5-base.
|
1.6.4.1 | 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.6.2.1 | 14-Nov-2001 |
nathanw | Catch up to -current.
|
1.7.118.1 | 16-May-2008 |
yamt | sync with head.
|
1.7.116.1 | 18-May-2008 |
yamt | sync with head.
|
1.7.114.1 | 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.8.50.1 | 18-May-2014 |
rmind | sync with head
|
1.8.44.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.8.34.1 | 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.9.36.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.9.30.1 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.9 | 10-Aug-2019 |
rin | 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.
|
1.8 | 02-Dec-2013 |
tsutsui | branches: 1.8.30; 1.8.36; Fix 1 bpp rasops copycols() op:
- fix inverted shift direction in MBL() and MBR() macro in BE case (used by GETBITS() and PUTBITS() in copycols() function in rasops_bitops.h) - make all bitmask values unsigned and use proper uint32_t types for bitmap variables (to avoid arithmetic right shift) - fix various botches in right-to-left copy op (logic is taken from hp300)
Tested on bwtwo(4) on NetBSD/sparc.
|
1.7 | 28-Apr-2008 |
martin | branches: 1.7.34; 1.7.44; 1.7.50; Remove clause 3 and 4 from TNF licenses
|
1.6 | 12-Jan-2001 |
bjh21 | branches: 1.6.122; 1.6.124; 1.6.126; The mask tables have no excuse for being in the data segment.
|
1.5 | 13-Jun-2000 |
ad | Use my proper name.
|
1.4 | 12-Apr-2000 |
pk | branches: 1.4.2; * Spell shift counts in decimal and masks in hex * Optimize numerous array references * Cleanup whitespace turds
|
1.3 | 23-Oct-1999 |
ad | - New option (RASOPS_SMALL) for the tight-fisted. - Don't use int32_t/u_int32_t unless we must. - Remove C++ single line comment delimeters that crept in. - Remove defs pertaining to byte granularity 'ragged-edge' bitmasks. - Move all declarations of per-depth initialization functions to rasops.h. - Other minor cleanup.
|
1.2 | 18-May-1999 |
ad | branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8; Assign ownership & copyright to TNF. There is probably a procedure for this that I am unaware of. Also some KNF.
|
1.1 | 26-Apr-1999 |
ad | Innumerable fixes and improvements. README contains list of remaining bugs that need to be squashed.
|
1.2.8.1 | 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.2.6.1 | 15-Nov-1999 |
fvdl | Sync with -current
|
1.2.4.2 | 18-Jan-2001 |
bouyer | Sync with head (for UBC+NFS fixes, mostly).
|
1.2.4.1 | 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.2.2.1 | 21-Jun-1999 |
thorpej | Sync w/ -current.
|
1.4.2.1 | 22-Jun-2000 |
minoura | Sync w/ netbsd-1-5-base.
|
1.6.126.1 | 16-May-2008 |
yamt | sync with head.
|
1.6.124.1 | 18-May-2008 |
yamt | sync with head.
|
1.6.122.1 | 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.7.50.1 | 18-May-2014 |
rmind | sync with head
|
1.7.44.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.7.34.1 | 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.8.36.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.8.30.1 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.8 | 10-Aug-2019 |
rin | branches: 1.8.8; 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.
|
1.7 | 09-Aug-2019 |
rin | Correctly check whether character is in font in rasops_mapchar(). Also, make sure that in putchar functions for completeness.
|
1.6 | 07-Aug-2019 |
rin | Merge rasops_putchar_aa.h into rasops_putchar.h. Support scaling underline dimensions by font height.
|
1.5 | 30-Jul-2019 |
rin | branches: 1.5.2; Try to improve performance when shadow framebuffer is present; Use block copy from shadow fb to real fb, instead of repeating the same operations to two fb's.
|
1.4 | 29-Jul-2019 |
rin | Avoid undefined behavior when converting unaligned be32 data to host integer, found by kUBSan.
Pointed out by msaitoh.
|
1.3 | 28-Jul-2019 |
rin | Avoid memset to framebuffer.
XXX There still remains memset in rasops8.c, which will be removed soon when putchar_aa functions are factorized.
|
1.2 | 28-Jul-2019 |
rin | Cast attr to uint32_t before right shift to avoid undefined behavior.
Also, misc style/cosmetic changes for clarity.
|
1.1 | 25-Jul-2019 |
rin | Factor out putchar and width-optimized putchar functions into rasops_putchar.h and rasops_putchar_width.h, respectively.
XXX Possibly, we can do the same for putchar_aa functions. But it is currently missing for 24-bpp.
|
1.5.2.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.8.8.2 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.8.8.1 | 10-Aug-2019 |
martin | file rasops_putchar.h was added on branch phil-wifi on 2020-04-13 08:04:47 +0000
|
1.7 | 07-Aug-2019 |
rin | Merge rasops_putchar_aa.h into rasops_putchar.h. Support scaling underline dimensions by font height.
|
1.6 | 31-Jul-2019 |
rin | Provide buffer capable of single-row pixels in order to make things simpler.
XXX Bump kernel version for rasops_info later.
|
1.5 | 31-Jul-2019 |
rin | Reduce memcpy.
|
1.4 | 30-Jul-2019 |
rin | branches: 1.4.2; Try to improve performance when shadow framebuffer is present; Use block copy from shadow fb to real fb, instead of repeating the same operations to two fb's.
|
1.3 | 29-Jul-2019 |
rin | Simplify and tiny optimization.
|
1.2 | 29-Jul-2019 |
rin | Support anti-aliasing for depth 24.
|
1.1 | 29-Jul-2019 |
rin | Factor out putchar_aa functions into rasops_putchar_aa.h, which includes the following fixes:
- stop using memset to framebuffer for depth 8 - correctly support non-standard positions/lengths of RGB bits in pixel
|
1.4.2.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.15 | 14-Aug-2019 |
rin | branches: 1.15.8; When using stamp, drop attributions other than back and foreground colors so that stamp is not updated unnecessarily.
|
1.14 | 10-Aug-2019 |
rin | 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.
|
1.13 | 09-Aug-2019 |
rin | Correctly check whether character is in font in rasops_mapchar(). Also, make sure that in putchar functions for completeness.
|
1.12 | 07-Aug-2019 |
rin | 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.
|
1.11 | 07-Aug-2019 |
rin | 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.
|
1.10 | 31-Jul-2019 |
rin | Switch to per-device stamp, and retire stamp_mutex.
XXX Bump kernel version after other changes for struct rasops_info.
|
1.9 | 30-Jul-2019 |
rin | branches: 1.9.2; Try to improve performance when shadow framebuffer is present; Use block copy from shadow fb to real fb, instead of repeating the same operations to two fb's.
|
1.8 | 29-Jul-2019 |
rin | Try to fix problem reported by ryoon: http://mail-index.netbsd.org/source-changes-d/2019/07/29/msg011516.html
There are apparent bugs for shadow framebuffer. Sorry for the breakage.
|
1.7 | 29-Jul-2019 |
rin | Convert rasops2.c and rasops4.c to use rasops_putchar_width.h. Style.
|
1.6 | 28-Jul-2019 |
rin | Cast attr to uint32_t before right shift to avoid undefined behavior.
Also, misc style/cosmetic changes for clarity.
|
1.5 | 28-Jul-2019 |
rin | Simplify and style. No functional changes intended.
|
1.4 | 28-Jul-2019 |
rin | Redo fix in rev 1.2 http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/dev/rasops/rasops_putchar_width.h#rev1.2 in a correct way.
For 24bpp framebuffer, we need to use ``stamp triplets'' even for fully blank or filled rows.
Now, background-color for white space and underline are correctly drawn.
|
1.3 | 28-Jul-2019 |
rin | Fix factorization fallout; pointer for shadow framebuffer should be rolled back before drawing underline.
|
1.2 | 26-Jul-2019 |
rin | XXX Add hack so that colorbars(6) works for 24-bpp. The code before factorization did the same in a strange way.
|
1.1 | 25-Jul-2019 |
rin | Factor out putchar and width-optimized putchar functions into rasops_putchar.h and rasops_putchar_width.h, respectively.
XXX Possibly, we can do the same for putchar_aa functions. But it is currently missing for 24-bpp.
|
1.9.2.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.15.8.2 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.15.8.1 | 14-Aug-2019 |
martin | file rasops_putchar_width.h was added on branch phil-wifi on 2020-04-13 08:04:47 +0000
|