History log of /openbsd-current/sys/dev/rasops/rasops1.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.13 18-Jan-2023 nicm

Instead of mapping WSEMUL_UNDERLINE to a different bit in rasops, use
the same bit and the define. rom Crystal Kolipe kolipe.c at
exoticsilicon dot com.

ok miod


Revision tags: OPENBSD_6_9_BASE OPENBSD_7_0_BASE OPENBSD_7_1_BASE OPENBSD_7_2_BASE
# 1.12 09-Jan-2021 fcambus

Include the optimized putchar functions only if RASOPS_SMALL is not
defined, as was previously the case.

OK kettenis@


# 1.11 21-Dec-2020 kettenis

Only enable rasops1_putchar8() and rasops1_putchar16() optomizations on
big-endian architectectures. These functions assume big-endian bit order
whereas rasops1_putchar() assumes native-endian bit order. Since ssdfb(4)
assumes little-endian bit order and is the only consumer of these interfaces
on little-endian platforms, go with the rasop1_putchar() convention for now.

ok mpi@


Revision tags: OPENBSD_6_8_BASE
# 1.10 25-May-2020 jsg

change wsdisplay attribute type from long to uint32_t

miod explained it was initially a long as it was thought drivers may
need to allocate storage but in practice they don't need more than
32 bits for an attribute.

suggested and reviewed by miod@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE
# 1.9 19-Dec-2014 guenther

Use <sys/endian.h> instead of <machine/endian.h>

ok dlg@ mpi@ bcook@ millert@ miod@


Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.8 28-Aug-2010 miod

ansify function definitions, and constify a few arrays while there.
no functional change.


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE
# 1.7 05-Sep-2009 miod

Change the wsdisplay_emulops return types from void to int; emulops will now
return zero on success and nonzero on failure.
This commit only performs mechanical changes for the existing emulops to
always return zero.


Revision tags: OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.6 26-Jun-2008 ray

First pass at removing clauses 3 and 4 from NetBSD licenses.

Not sure what's more surprising: how long it took for NetBSD to
catch up to the rest of the BSDs (including UCB), or the amount of
code that NetBSD has claimed for itself without attributing to the
actual authors.

OK deraadt@


Revision tags: OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE
# 1.5 03-Aug-2006 miod

Since rasops is big-endian internally (because it's the logical choice
for frame buffer work), it is no surprise that the less-than-8-bpp code
is completely wrong when run on a little endian machine, and only works
by accident if character cells are 8-bit wide.

Fix the BE<->LE conversions, so that now rasops1 works in all cases.
rasops2 and rasops4 might still need some help, but I'm not in a hurry to
meet a 4bpp big-endian frame buffer on a little-endian system...


Revision tags: OPENBSD_3_2_BASE OPENBSD_3_3_BASE OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE SMP_SYNC_A SMP_SYNC_B UBC_SYNC_A UBC_SYNC_B
# 1.4 27-Jul-2002 miod

Unstaticize functions, for my ddb sessions pleasure.
Plus it makes hangman more difficult.


# 1.3 28-May-2002 fgsch

o spaces, tabs, spelling cleanup.
o remove unneeded headers.
o makes this to compile if RASOPS_SMALL is defined.
o makes rasops2 to compile.


Revision tags: OPENBSD_3_1_BASE
# 1.2 14-Mar-2002 millert

First round of __P removal in sys


Revision tags: OPENBSD_2_9_BASE OPENBSD_3_0_BASE UBC_BASE
# 1.1 18-Mar-2001 nate

branches: 1.1.4; 1.1.8;
Import rasops from NetBSD. This gives improved performance for raster
operations.


# 1.12 09-Jan-2021 fcambus

Include the optimized putchar functions only if RASOPS_SMALL is not
defined, as was previously the case.

OK kettenis@


# 1.11 21-Dec-2020 kettenis

Only enable rasops1_putchar8() and rasops1_putchar16() optomizations on
big-endian architectectures. These functions assume big-endian bit order
whereas rasops1_putchar() assumes native-endian bit order. Since ssdfb(4)
assumes little-endian bit order and is the only consumer of these interfaces
on little-endian platforms, go with the rasop1_putchar() convention for now.

ok mpi@


Revision tags: OPENBSD_6_8_BASE
# 1.10 25-May-2020 jsg

change wsdisplay attribute type from long to uint32_t

miod explained it was initially a long as it was thought drivers may
need to allocate storage but in practice they don't need more than
32 bits for an attribute.

suggested and reviewed by miod@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE
# 1.9 19-Dec-2014 guenther

Use <sys/endian.h> instead of <machine/endian.h>

ok dlg@ mpi@ bcook@ millert@ miod@


Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.8 28-Aug-2010 miod

ansify function definitions, and constify a few arrays while there.
no functional change.


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE
# 1.7 05-Sep-2009 miod

Change the wsdisplay_emulops return types from void to int; emulops will now
return zero on success and nonzero on failure.
This commit only performs mechanical changes for the existing emulops to
always return zero.


Revision tags: OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.6 26-Jun-2008 ray

First pass at removing clauses 3 and 4 from NetBSD licenses.

Not sure what's more surprising: how long it took for NetBSD to
catch up to the rest of the BSDs (including UCB), or the amount of
code that NetBSD has claimed for itself without attributing to the
actual authors.

OK deraadt@


Revision tags: OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE
# 1.5 03-Aug-2006 miod

Since rasops is big-endian internally (because it's the logical choice
for frame buffer work), it is no surprise that the less-than-8-bpp code
is completely wrong when run on a little endian machine, and only works
by accident if character cells are 8-bit wide.

Fix the BE<->LE conversions, so that now rasops1 works in all cases.
rasops2 and rasops4 might still need some help, but I'm not in a hurry to
meet a 4bpp big-endian frame buffer on a little-endian system...


Revision tags: OPENBSD_3_2_BASE OPENBSD_3_3_BASE OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE SMP_SYNC_A SMP_SYNC_B UBC_SYNC_A UBC_SYNC_B
# 1.4 27-Jul-2002 miod

Unstaticize functions, for my ddb sessions pleasure.
Plus it makes hangman more difficult.


# 1.3 28-May-2002 fgsch

o spaces, tabs, spelling cleanup.
o remove unneeded headers.
o makes this to compile if RASOPS_SMALL is defined.
o makes rasops2 to compile.


Revision tags: OPENBSD_3_1_BASE
# 1.2 14-Mar-2002 millert

First round of __P removal in sys


Revision tags: OPENBSD_2_9_BASE OPENBSD_3_0_BASE UBC_BASE
# 1.1 18-Mar-2001 nate

branches: 1.1.4; 1.1.8;
Import rasops from NetBSD. This gives improved performance for raster
operations.


# 1.11 21-Dec-2020 kettenis

Only enable rasops1_putchar8() and rasops1_putchar16() optomizations on
big-endian architectectures. These functions assume big-endian bit order
whereas rasops1_putchar() assumes native-endian bit order. Since ssdfb(4)
assumes little-endian bit order and is the only consumer of these interfaces
on little-endian platforms, go with the rasop1_putchar() convention for now.

ok mpi@


Revision tags: OPENBSD_6_8_BASE
# 1.10 25-May-2020 jsg

change wsdisplay attribute type from long to uint32_t

miod explained it was initially a long as it was thought drivers may
need to allocate storage but in practice they don't need more than
32 bits for an attribute.

suggested and reviewed by miod@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE
# 1.9 19-Dec-2014 guenther

Use <sys/endian.h> instead of <machine/endian.h>

ok dlg@ mpi@ bcook@ millert@ miod@


Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.8 28-Aug-2010 miod

ansify function definitions, and constify a few arrays while there.
no functional change.


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE
# 1.7 05-Sep-2009 miod

Change the wsdisplay_emulops return types from void to int; emulops will now
return zero on success and nonzero on failure.
This commit only performs mechanical changes for the existing emulops to
always return zero.


Revision tags: OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.6 26-Jun-2008 ray

First pass at removing clauses 3 and 4 from NetBSD licenses.

Not sure what's more surprising: how long it took for NetBSD to
catch up to the rest of the BSDs (including UCB), or the amount of
code that NetBSD has claimed for itself without attributing to the
actual authors.

OK deraadt@


Revision tags: OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE
# 1.5 03-Aug-2006 miod

Since rasops is big-endian internally (because it's the logical choice
for frame buffer work), it is no surprise that the less-than-8-bpp code
is completely wrong when run on a little endian machine, and only works
by accident if character cells are 8-bit wide.

Fix the BE<->LE conversions, so that now rasops1 works in all cases.
rasops2 and rasops4 might still need some help, but I'm not in a hurry to
meet a 4bpp big-endian frame buffer on a little-endian system...


Revision tags: OPENBSD_3_2_BASE OPENBSD_3_3_BASE OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE SMP_SYNC_A SMP_SYNC_B UBC_SYNC_A UBC_SYNC_B
# 1.4 27-Jul-2002 miod

Unstaticize functions, for my ddb sessions pleasure.
Plus it makes hangman more difficult.


# 1.3 28-May-2002 fgsch

o spaces, tabs, spelling cleanup.
o remove unneeded headers.
o makes this to compile if RASOPS_SMALL is defined.
o makes rasops2 to compile.


Revision tags: OPENBSD_3_1_BASE
# 1.2 14-Mar-2002 millert

First round of __P removal in sys


Revision tags: OPENBSD_2_9_BASE OPENBSD_3_0_BASE UBC_BASE
# 1.1 18-Mar-2001 nate

branches: 1.1.4; 1.1.8;
Import rasops from NetBSD. This gives improved performance for raster
operations.


# 1.10 25-May-2020 jsg

change wsdisplay attribute type from long to uint32_t

miod explained it was initially a long as it was thought drivers may
need to allocate storage but in practice they don't need more than
32 bits for an attribute.

suggested and reviewed by miod@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE
# 1.9 19-Dec-2014 guenther

Use <sys/endian.h> instead of <machine/endian.h>

ok dlg@ mpi@ bcook@ millert@ miod@


Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.8 28-Aug-2010 miod

ansify function definitions, and constify a few arrays while there.
no functional change.


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE
# 1.7 05-Sep-2009 miod

Change the wsdisplay_emulops return types from void to int; emulops will now
return zero on success and nonzero on failure.
This commit only performs mechanical changes for the existing emulops to
always return zero.


Revision tags: OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.6 26-Jun-2008 ray

First pass at removing clauses 3 and 4 from NetBSD licenses.

Not sure what's more surprising: how long it took for NetBSD to
catch up to the rest of the BSDs (including UCB), or the amount of
code that NetBSD has claimed for itself without attributing to the
actual authors.

OK deraadt@


Revision tags: OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE
# 1.5 03-Aug-2006 miod

Since rasops is big-endian internally (because it's the logical choice
for frame buffer work), it is no surprise that the less-than-8-bpp code
is completely wrong when run on a little endian machine, and only works
by accident if character cells are 8-bit wide.

Fix the BE<->LE conversions, so that now rasops1 works in all cases.
rasops2 and rasops4 might still need some help, but I'm not in a hurry to
meet a 4bpp big-endian frame buffer on a little-endian system...


Revision tags: OPENBSD_3_2_BASE OPENBSD_3_3_BASE OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE SMP_SYNC_A SMP_SYNC_B UBC_SYNC_A UBC_SYNC_B
# 1.4 27-Jul-2002 miod

Unstaticize functions, for my ddb sessions pleasure.
Plus it makes hangman more difficult.


# 1.3 28-May-2002 fgsch

o spaces, tabs, spelling cleanup.
o remove unneeded headers.
o makes this to compile if RASOPS_SMALL is defined.
o makes rasops2 to compile.


Revision tags: OPENBSD_3_1_BASE
# 1.2 14-Mar-2002 millert

First round of __P removal in sys


Revision tags: OPENBSD_2_9_BASE OPENBSD_3_0_BASE UBC_BASE
# 1.1 18-Mar-2001 nate

branches: 1.1.4; 1.1.8;
Import rasops from NetBSD. This gives improved performance for raster
operations.


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.9 19-Dec-2014 guenther

Use <sys/endian.h> instead of <machine/endian.h>

ok dlg@ mpi@ bcook@ millert@ miod@


Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.8 28-Aug-2010 miod

ansify function definitions, and constify a few arrays while there.
no functional change.


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE
# 1.7 05-Sep-2009 miod

Change the wsdisplay_emulops return types from void to int; emulops will now
return zero on success and nonzero on failure.
This commit only performs mechanical changes for the existing emulops to
always return zero.


Revision tags: OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.6 26-Jun-2008 ray

First pass at removing clauses 3 and 4 from NetBSD licenses.

Not sure what's more surprising: how long it took for NetBSD to
catch up to the rest of the BSDs (including UCB), or the amount of
code that NetBSD has claimed for itself without attributing to the
actual authors.

OK deraadt@


Revision tags: OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE
# 1.5 03-Aug-2006 miod

Since rasops is big-endian internally (because it's the logical choice
for frame buffer work), it is no surprise that the less-than-8-bpp code
is completely wrong when run on a little endian machine, and only works
by accident if character cells are 8-bit wide.

Fix the BE<->LE conversions, so that now rasops1 works in all cases.
rasops2 and rasops4 might still need some help, but I'm not in a hurry to
meet a 4bpp big-endian frame buffer on a little-endian system...


Revision tags: OPENBSD_3_2_BASE OPENBSD_3_3_BASE OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE SMP_SYNC_A SMP_SYNC_B UBC_SYNC_A UBC_SYNC_B
# 1.4 27-Jul-2002 miod

Unstaticize functions, for my ddb sessions pleasure.
Plus it makes hangman more difficult.


# 1.3 28-May-2002 fgsch

o spaces, tabs, spelling cleanup.
o remove unneeded headers.
o makes this to compile if RASOPS_SMALL is defined.
o makes rasops2 to compile.


Revision tags: OPENBSD_3_1_BASE
# 1.2 14-Mar-2002 millert

First round of __P removal in sys


Revision tags: OPENBSD_2_9_BASE OPENBSD_3_0_BASE UBC_BASE
# 1.1 18-Mar-2001 nate

branches: 1.1.4; 1.1.8;
Import rasops from NetBSD. This gives improved performance for raster
operations.