1. 23 Sep, 2021 1 commit
  2. 08 Aug, 2021 1 commit
  3. 18 Sep, 2020 1 commit
  4. 04 Apr, 2020 1 commit
    • Ed Maste's avatar
      vt: avoid overrun when stride is not a multiple of bytes per pixel · 2efe3be9
      Ed Maste authored
      The reporter is developing a frame buffer driver for hardware using
      3 bytes per pixel, but a stride that's a multiple of 256.  Previously
      this resulted in writing beyond the end of each stride.  On the last
      row this attempted to write past the end of the frame buffer, triggering
      the assertion in vt_fb_mem_wr1().
      PR:		243533
      MFC after:	2 weeks
      Submitted by:	Thomas Skibo
  5. 26 Sep, 2019 1 commit
  6. 25 Sep, 2019 1 commit
  7. 25 Aug, 2018 1 commit
    • Colin Percival's avatar
      Speed up vt(4) by keeping a record of the most recently drawn character and · ee97b233
      Colin Percival authored
      the foreground and background colours.  In bitblt_text functions, compare
      values to this cache and don't re-draw the characters if they haven't changed.
      When invalidating the display, clear this cache in order to force characters
      to be redrawn; also force full redraws between suspend/resume pairs since odd
      artifacts can otherwise result.
      When scrolling the display (which is where most time is spent within the vt
      driver) this yields a significant performance improvement if most lines are
      less than the width of the terminal, since this avoids re-drawing blanks on
      top of blanks.
      (Note that "re-drawing" here includes writing to the VGA text mode buffer; on
      virtualized systems this can be extremely slow since it triggers a glyph
      being rendered onto a 640x480 screen).
      On a c5.4xlarge EC2 instance (with emulated text mode VGA) this cuts the time
      spent in vt(4) during the kernel boot from 1200 ms to 700ms; on my laptop
      (with a 3200x1800 display) the corresponding time is reduced from 970 ms down
      to 155 ms.
      Reviewed by:	imp, cem
      Approved by:	re (gjb)
      Relnotes:	Significant speedup in vt(4) and the system boot generally.
      Differential Revision:	https://reviews.freebsd.org/D16723
  8. 06 Dec, 2017 1 commit
  9. 27 Nov, 2017 1 commit
    • Pedro F. Giffuni's avatar
      sys/dev: further adoption of SPDX licensing ID tags. · 718cf2cc
      Pedro F. Giffuni authored
      Mainly focus on files that use BSD 2-Clause license, however the tool I
      was using misidentified many licenses so this was mostly a manual - error
      prone - task.
      The Software Package Data Exchange (SPDX) group provides a specification
      to make it easier for automated tools to detect and summarize well known
      opensource licenses. We are gradually adopting the specification, noting
      that the tags are considered only advisory and do not, in any way,
      superceed or replace the license texts.
  10. 19 Jul, 2016 1 commit
    • Conrad Meyer's avatar
      Increase vt(4) framebuffer maximum size · f41bde66
      Conrad Meyer authored
      And rename "DEFAULT" constants to the more accurate "MAX."
      PR:		210382
      Submitted by:	Felix <felixphew0 at gmail.com>
      Reviewed by:	wblock, cem
      Tested by:	Dave Cottlehuber <dch at skunkwerks.at>
  11. 18 Aug, 2015 1 commit
    • Marcel Moolenaar's avatar
      Support frame buffers that are larger than the default screen · ec6b1f6a
      Marcel Moolenaar authored
      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
  12. 27 Jul, 2015 1 commit
  13. 29 Apr, 2015 1 commit
  14. 07 Mar, 2015 1 commit
    • Hans Petter Selasky's avatar
      Add support for USB display link adapters to the FB and VT drivers. · a985ae9b
      Hans Petter Selasky authored
      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
  15. 01 Mar, 2015 1 commit
    • Jean-Sébastien Pédron's avatar
      vt(4): Add support to "downgrade" from eg. vt_fb to vt_vga · 76e2f976
      Jean-Sébastien Pédron authored
      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"
      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
  16. 27 Jan, 2015 1 commit
    • Andriy Gapon's avatar
      vt(4): Use power_{suspend,resume} event handlers to implement · 6dfa4578
      Andriy Gapon authored
      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
  17. 05 Jan, 2015 1 commit
  18. 16 Sep, 2014 1 commit
  19. 27 Aug, 2014 1 commit
    • Jean-Sébastien Pédron's avatar
      vt(4): Fix mouse cursor handling in vt_fb/creator_vt/ofwfb · 84d623c6
      Jean-Sébastien Pédron authored
      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
  20. 25 Aug, 2014 1 commit
  21. 23 Aug, 2014 2 commits
  22. 10 Aug, 2014 1 commit
    • Jean-Sébastien Pédron's avatar
      vt(4): Colors are indexed against a console palette, not a VGA palette · 19e2ce2d
      Jean-Sébastien Pédron authored
      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
      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
  23. 07 Aug, 2014 1 commit
  24. 06 Aug, 2014 1 commit
  25. 02 Aug, 2014 1 commit
  26. 17 Jul, 2014 1 commit
  27. 16 Jul, 2014 1 commit
  28. 05 May, 2014 1 commit
  29. 06 Feb, 2014 1 commit
  30. 20 Jan, 2014 1 commit
  31. 23 Dec, 2013 1 commit
  32. 05 Dec, 2013 1 commit