History log of /freebsd-11.0-release/sys/dev/vt/hw/fb/vt_fb.c
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 303975 11-Aug-2016 gjb

Copy stable/11@r303970 to releng/11.0 as part of the 11.0-RELEASE
cycle.

Prune svn:mergeinfo from the new branch, and rename it to RC1.

Update __FreeBSD_version.

Use the quarterly branch for the default FreeBSD.conf pkg(8) repo and
the dvd1.iso packages population.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 303312 25-Jul-2016 bdrewery

MFC r303043:

Increase vt(4) framebuffer maximum size

PR: 210382
Approved by: re (gjb)


# 302408 08-Jul-2016 gjb

Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle.
Prune svn:mergeinfo from the new branch, as nothing has been merged
here.

Additional commits post-branch will follow.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


# 286867 18-Aug-2015 marcel

Support frame buffers that are larger than the default screen
size as defined by VT_FB_DEFAULT_WIDTH and VT_FB_DEFAULT_HEIGHT
(at this time 2048x1200). The default is really a max. We cap
the height and width to those defaults and position the screen
in the center of the frame buffer.

Ideally we use a bigger font to utility the entire real estate
that is the frame buffer, but that's seen as an improvement over
making it work first.

PR: 193745


# 285911 27-Jul-2015 marius

- Nuke dupe $FreeBSD$.
- Fix whitespace.

MFC after: 3 days


# 282247 29-Apr-2015 emaste

vt: fix vt_fb_bitblt_bitmap mask corruption

Previously the mask wrapped when one or more of the mask bytes extended
past the right edge of the window. Simplify the logic and use the same
byte offset and bit in both the pattern and mask.

PR: 199648
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D2360


# 279752 07-Mar-2015 hselasky

Add support for USB display link adapters to the FB and VT drivers.
The vtophys() function is used to get the physical page address for
the virtually allocated frame buffers when a physically continuous
memory area is not available. This change also allows removing the
masking of the FB_FLAG_NOMMAP flag in the PS3 syscons driver.

The FB and VT drivers were tested using X.org/xf86-video-scfb and
syscons.


# 279488 01-Mar-2015 dumbbell

vt(4): Add support to "downgrade" from eg. vt_fb to vt_vga

The main purpose of this feature is to be able to unload a KMS driver.

When going back from the current vt(4) backend to the previous backend,
the previous backend is reinitialized with the special VDF_DOWNGRADE
flag set. Then the current driver is terminated with the new "vd_fini"
callback.

In the case of vt_fb and vt_vga, this allows the former to pass the
vgapci device vt_fb used to vt_vga so the device can be rePOSTed.

Differential Revision: https://reviews.freebsd.org/D687


# 277795 27-Jan-2015 avg

vt(4): Use power_{suspend,resume} event handlers to implement
suspend/resume

The goal is to avoid that the vt(4) resume happens before the video
display is resumed. The original patch was provided by Andriy Gapon.

This new patch registers the handlers in vt_upgrade(). This is done
once, thanks to the VDF_ASYNC flag. I abused this flag because it was
already abused by the keyboard allocation. The event handlers then call
the backend if it provides callbacks for suspend/resume.

Differential Revision: https://reviews.freebsd.org/D1004
On behalf of: dumbbell
MFC after: 2 weeks


# 276679 05-Jan-2015 nwhitehorn

Make PS3 work with the userspace kboot loader. loader.ps3 will disappear
from the tree in the near future.

Done at: Hackathon


# 271684 16-Sep-2014 dumbbell

vt(4): Use vt_fb_drawrect() and vt_fb_setpixel() in all vt_fb-derivative

Review: https://reviews.freebsd.org/D789
Reviewed by: nwhitehorn
Approved by: nwhitehorn
MFC after: 2 days


# 270720 27-Aug-2014 dumbbell

vt(4): Fix mouse cursor handling in vt_fb/creator_vt/ofwfb

There were two issues:
1. The area given to vt_is_cursor_in_area() was adding the drawable
area offset, something already handled by this function.
2. The cursor was shifted on the screen by the offset of this area
and thus was misplaced or not erased. Furthermore, when reaching
the bottom or right borders, the cursor was either totally
removed or not erased correctly.

MFC after: 1 week


# 270613 25-Aug-2014 dumbbell

vt(4): Store a rectangle for the drawable area, not just the top-left corner

This allows backends to verify they do not draw outside of this area.
This fixes a bug in vt_vga where the text was happily drawn over the
right and bottom margins, when using the Gallant font.

MFC after: 1 week


# 270431 23-Aug-2014 dumbbell

vt(4): Add vd_bitblt_bmp_t callback

The code was already there in all backends, we just expose it. This is
used to display the splash screen.

MFC after: 1 week


# 270411 23-Aug-2014 dumbbell

vt_fb: Implement vd_bitblt_text_t for vt_fb and derivatives

MFC after: 1 week


# 269783 10-Aug-2014 dumbbell

vt(4): Colors are indexed against a console palette, not a VGA palette

Rename vt_generate_vga_palette() to vt_generate_cons_palette() and
change it to build a palette where the color index is the same than in
terminal escape codes, not the VGA index. That's what TCHAR_CREATE()
uses and passes to vt(4).

The main differences between both orders are:
o Blue and red are swapped (1 <-> 4)
o Yellow and cyan are swapped (3 <-> 6)

The problem remained unnoticed, because the RGB bit indexes passed to
vt_generate_vga_palette() were reversed. This inversion was cancelled
by the colors inversions in the generated palette. For instance, red
(0xff0000) and blue (0x0000ff) have bytes in opposite order, but were
swapped in the palette. But after changing the value of blue (see last
paragraph), the modified color was in fact the red one.

This commit includes a fix to creator_vt.c, submitted by Nathan
Whitehorn: fb_cmsize is set to 16. Before this, the generated palette
would be overwritte. This fixes colors on sparc64 with a Creator3D
adapter.

While here, tune the palette to better match console colors and improve
the readability (especially the dark blue).

Submitted by: nwhitehorn (fix to creator_vt.c)
MFC after: 1 week


# 269685 07-Aug-2014 nwhitehorn

Retire vd_maskbitbltchr. The same functionality can be obtained by testing
for mask != NULL in vd_bitbltchr, which all implementations of vd_bitbltchr()
were doing anyway.


# 269620 06-Aug-2014 nwhitehorn

Retire various intertwined bits of fbd(4) and vt_fb, in particular the
pixel modification indirection. No actual drivers use it and those that
might (e.g. creatorfb) use custom implementations of vd_bitbltchr().


# 269437 02-Aug-2014 nwhitehorn

Don't assume that the framebuffer driver is using vt_fb_blank() when blanking
the screen during init.

MFC after: 1 week


# 268796 17-Jul-2014 nwhitehorn

Fix embarassing typos I made.

Submitted by: rayddteam


# 268771 16-Jul-2014 nwhitehorn

Allow console drivers active from early boot to be used with xf86-video-scfb,
rather than only drivers attached later on. This involves a small amount of
code duplication with dev/fb/fbd.c, which will fixed later on.

Also improve performance of vt_blank() by making it not read from the
framebuffer unnecessarily.


# 265397 05-May-2014 ray

Switch fb and efifb drivers to use names and new vt(4) driver probe method.

Sponsored by: The FreeBSD Foundation


# 261552 06-Feb-2014 ray

Add two new vt(9) driver methods: vd_drawrect and vd_setpixel.
Implement vd_drawrect and vd_setpixel for vt_fb driver.

Sponsored by: The FreeBSD Foundation


# 260953 20-Jan-2014 ray

Style(9) fix.
No functional changes.

Sponsored by: The FreeBSD Foundation


# 259777 23-Dec-2013 ray

o Add virtual terminal mmap request handler.
o Forward termianl framebuffer ioctl to fbd.
o Forward terminal mmap request to fbd.
o Move inclusion of sys/conf.h to vt.h.

Sponsored by: The FreeBSD Foundation


# 259016 05-Dec-2013 ray

Merge VT(9) project (a.k.a. newcons).

Reviewed by: nwhitehorn
MFC_to_10_after: re approval

Sponsored by: The FreeBSD Foundation


# 258781 30-Nov-2013 nwhitehorn

Work around false positive errors from GCC.


# 257988 11-Nov-2013 ray

Update vd_bitbltchr_t type to handle operation mask (to not touch pixels which
is not defined in mask) and bpl (bytes per source line).
Only vt_fb driver handle handle bpl yet.
Add protector for case when blitting image can be drawn partially out of screen,
like mouse cursor.

Mouse cursor and its movements works fine, copy/paste not yet.

Sponsored by: The FreeBSD Foundation


# 257815 07-Nov-2013 ray

Handle suspend/resume. Switch to console window before suspend, switch back on
resume. That fix issue with broken Xorg image after resume.
Fix some style whilst here.

Sponsored by: The FreeBSD Foundation


# 257725 05-Nov-2013 ray

Export vt_fb VT driver methods to allow reuse.

Sponsored by: The FreeBSD Foundation


# 257013 23-Oct-2013 ray

Use copy method which maybe defined by framebuffer provider, but not just
memmove.

Sponsored by: The FreeBSD Foundation


# 256904 22-Oct-2013 ray

Add VT(9) driver for generic framebuffer.

Sponsored by: The FreeBSD Foundation