Age | Commit message (Collapse) | Author |
|
This significantly speeds up character plotting on inteldrm and
radeondrm, and also on efifb(4) since the driver now remaps the
framebuffer in write combining mode.
OK kettenis@, jcs@
|
|
sizes than the currently used one. This allows getting a list of all
loaded fonts when using the WSDISPLAYIO_LSFONT ioctl.
On top of allowing to see all fonts which are currently loaded when
invoking the -l option of wsfontload(8), it also removes the confusion
as to why we might reach the WSDISPLAY_MAXFONTCOUNT limit faster than
expected when loading more fonts.
OK sthen@
|
|
in rasops(9) to allow selecting larger fonts when available.
Summary of the changes:
- Enable spleen8x16 for all architectures, replacing bold8x16_iso1.
- Enable spleen12x24 on all arches but sparc64, replacing gallant12x22.
- Enable spleen16x32 and spleen32x64 on amd64, i386, and arm64 for
GENERIC kernels.
- Modify the font selection logic in rasops(9) so the 16x32 and 32x64
fonts are selected if at least 120 columns can be displayed. Screens
with widths equal or larger than 1920px will use the 16x32 font, and
screens with widths equal or larger than 3840px the 32x64 one.
OK kettenis@, ratchov@, deraadt@
|
|
rasops(9).
We only build rasops24 functions on amd64 (for EFI support in QEMU) and
on armv7 and arm64, and we can safely use the generic functions on those
platforms, like we do for all other color depths. No other platform uses
rasops24, Miod explains why here [1].
No performance regression observed when testing with QEMU in EFI mode.
[1] https://marc.info/?l=openbsd-ppc&m=118664346819989&w=2
OK kettenis@
|
|
ok deraadt@
|
|
whether another driver has already claimed a framebuffer. Use this in
radeondrm(4) and simplefb(4) to prevent the latter from attaching if
radeondrm(4) is attached to the hardware that provides the framebuffer
set up by the firmware.
ok mlarkin@
|
|
framebuffer pixels by doing an XOR with an all-ones bit pattern. This
means the code has to read from the framebuffer which can be very slow.
Add an implementation that simply redraws the character covered by the
cursor with the foreground and background color swapped. While this
doesn't necessarily have the same visual result, most people probably
won't notice the difference (let's see). Use this implementation when
the RI_WRONLY or the RI_VCONS flags are set.
ok fcambus@
|
|
scrollback. Fixes use of an uninitialised attribute value in scrollback.
Patch from miod@ ok kettenis@
|
|
activate it for efifb and inteldrm
ok kettenis
|
|
|
|
|
|
screens.
The "underline" was actually drawn above text.
OK jcs@
|
|
Now that we call rasops_putchar_rotated(), we don't need ri anymore.
OK kettenis@
|
|
sp variable. Its value is not used, it is overwritten later on.
found by clang -Wuninitialized; OK deraadt@
|
|
anymore, but either memmove() or slow_bcopy().
OK nayden@
|
|
ok bcook@, stsp@
|
|
rasops_putchar_rotated() within the other rotation support functions.
ok patrick@
|
|
to it for visible screens (i.e., the console). initialize other
virtual screens with just blank character cells.
ok mpi
|
|
sending pixel by pixel
greatly speeds up the text framebuffer on some EFI implementations,
such as shaving 10 seconds off a boot under VMWare Fusion
ok deraadt
|
|
It seems unlikely that any future new platform will ever need them.
OK mpi@
|
|
already, but not all of them.
OK natano@
|
|
In this case, the caller has to provide the backing store for the screen
contents by setting the ri_bs member of "struct rasops_info". The screen
contents are retained if the rasops_info descriptor is later reinitialized
after adding the RI_VCONS flag.
ok yasuoka@, deraadt@
|
|
|
|
Problem reported by Maxime Villard, ok miod@
|
|
have any direct symbols used. Tested for indirect use by compiling
amd64/i386/sparc64 kernels.
ok tedu@ deraadt@
|
|
when workqs were introduced, we provided a second argument so you
could pass a thing and some context to work on it in. there were
very few things that took advantage of the second argument, so when
i introduced pools i suggested removing it. since tasks were meant
to replace workqs, it was requested that we keep the second argument
to make porting from workqs to tasks easier.
now that workqs are gone, i had a look at the use of the second
argument again and found only one good use of it (vdsp(4) on sparc64
if you're interested) and a tiny handful of questionable uses. the
vast majority of tasks only used a single argument. i have since
modified all tasks that used two args to only use one, so now we
can remove the second argument.
so this is a mechanical change. all tasks only passed NULL as their
second argument, so we can just remove it.
ok krw@
|
|
Tested with non-drm and wsfb systems. ok kettenis@ miod@
|
|
ok dlg@ mpi@ bcook@ millert@ miod@
|
|
ok tedu@ deraadt@
|
|
Build failure reported by Sebastien Marie
testing & ok phessler@
|
|
|
|
the young kids and old greybeards who know that bcopy has always handled
the ov case.
|
|
after discussions with beck deraadt kettenis.
|
|
wsdisplay softc. Instead, since the knowledge about available fonts lies in
the parent driver itself, introduce a list_font wsdisplay_accessop which
queries a font index, suitable to use within the WSDISPLAYIO_LSFONT ioctl.
With this in place:
- there is no global wsdisplay limit on the number of fonts loaded. Such a
limit will be enforced by the display drivers themselves.
- built-in kernel fonts will now appear in the list of fonts.
Grow a list_font accesop for rasops, which relies upon wsfont_enum(), which
is turned into something useful (and abortable if you do not need to iterate
further). Not used by any rasops driver yet.
|
|
selected. All rasops fonts are managed by wsfont, which allows a font to be
loaded on a rasops device and used on another.
Currently not plumbed in any driver yet. This is work in progress.
|
|
requested character in the font it is using, it suggests a question mark
character, instead of a space, so that the existence of the non-representable
character becomes visible.
Note that this is consistent with pcdisplay which suggests a diamond for
missing glyphs.
|
|
sparc/sparc64, white on black for everybody else), and use them to construct
a default color attribute in the rasops(4) code.
ok miod@
|
|
rows and columns redraw the destination area instead of reading pixel values
from the framebuffer. This can be a considerable performance win. Only
works together with RI_VCONS.
ok miod@
|
|
ok otto
|
|
works if the RI_VCONS flag is specified when initializing a rasops_info
descriptor.
|
|
ok mpi@, miod@
|
|
|
|
no functional change.
|
|
|
|
ok miod@
|
|
return zero on success and nonzero on failure.
This commit only performs mechanical changes for the existing emulops to
always return zero.
|
|
frame buffer.
|
|
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@
|
|
|
|
|