History log of /xsrc/external/mit/xf86-video-wsfb/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
01260a01 25-Mar-2024 jandberg <jandberg@NetBSD.org>

xf86-video-wsfb: Add support for 16 color mode on Amiga

- Sets up 8bpp shadow framebuffer with depth 4
- Bitplane conversion done in shadow update function
- Adds new shadow update function shadowUpdateAfb4x8,
which is a slightly modified version of existing shadowUpdateAfb4/8.

Discussion on tech-x11: http://mail-index.netbsd.org/tech-x11/2024/02/29/msg002447.html

0c2341a9 26-Jan-2024 tsutsui <tsutsui@NetBSD.org>

Handle "LSBit is left" bitorder VRAM of smg(4) and qv(4) on VAXen.

Confirmed on smg(4) on my VAXstation 3100/30.
Should be pulled up to netbsd-10.

bff82b7e 22-Jan-2024 jmcneill <jmcneill@NetBSD.org>

xf86-video-wsfb: Add support for Nintendo Wii

The Wii's framebuffer is YUY2, so add a custom shadowproc that converts
from RGB565 to YUY2 on the fly.

5a609870 10-Sep-2022 tsutsui <tsutsui@NetBSD.org>

wsfb: disable xf86DisableRandR() only on newer X.org Servers.

ABI_VIDEODRV_VERSION has been bumped to 24.0 since xorg-server-1.20.0:
https://gitlab.freedesktop.org/xorg/xserver/-/commit/3f9507ed2f7246b2c8cf2bbc430cc99c5f35c92a
https://gitlab.freedesktop.org/xorg/xserver/-/commit/dd00e5466a0e4ea313d1860824da4123692827ed

8a4fa5cd 10-Sep-2022 tsutsui <tsutsui@NetBSD.org>

wsfb: reduce diffs from upstream.

Mostly pulled/merged from the following upstream changes:

- Fix for dlopen() -based module loader.
https://gitlab.freedesktop.org/xorg/driver/xf86-video-wsfb/-/commit/b77092858a178aa169ed4c1c7fe733d5cd355702

- Remove useless loader symbol lists.
https://gitlab.freedesktop.org/xorg/driver/xf86-video-wsfb/-/commit/bce9fd21483fbeddc84672a1ef01fdd9b58c88ed

- Add compat-api.h for compatibility with xserver 1.13
https://gitlab.freedesktop.org/xorg/driver/xf86-video-wsfb/-/commit/586b722fb17b3eb0ab776c170ee21e6a66fc7f22

- Use own thunk functions instead of shadow*Weak
https://gitlab.freedesktop.org/xorg/driver/xf86-video-wsfb/-/commit/fa9aabe95a65c4dd12008e16ad66d5c773a7993a

- Remove obsolete #ifdef HAVE_XF1BPP and #ifdef HAVE_XF4BPP blocks,
https://gitlab.freedesktop.org/xorg/driver/xf86-video-wsfb/-/commit/16ac29883cb80053fb0b973166a3f664cae1fa44

- Remove unused variables
https://gitlab.freedesktop.org/xorg/driver/xf86-video-wsfb/-/commit/1c1bf30b612933a3303d414c75671c9a05ec450a

- Suppress a bunch of compiler warnings for using constant strings
https://gitlab.freedesktop.org/xorg/driver/xf86-video-wsfb/-/commit/1ff2e87ea1c19d1417b11886d940e205be376d78

- Replace LoaderGetOS with ifdef
https://gitlab.freedesktop.org/xorg/driver/xf86-video-wsfb/-/commit/8069c6970c731c38e105f5dddd5ce83ba88b0773

- Fix spelling/wording issues
https://gitlab.freedesktop.org/xorg/driver/xf86-video-wsfb/-/commit/27c2d76404c7b440a6662446b189fa257c4cebfc

With minor adjustments:
- sync order of members in private struct WsfbRec
- add more const to avoid warning
- add newlines properly to xf86Msg() messages

No particular objection on tech-x11@:
https://mail-index.netbsd.org/tech-x11/2022/06/thread1.html#002311

c2056409 30-Aug-2022 tsutsui <tsutsui@NetBSD.org>

wsfb: add 8bpp planar support for LUNA using amiga's Afb.

Reviewed on tech-x11@:
https://mail-index.netbsd.org/tech-x11/2022/08/23/msg002311.html

Confirmed on my LUNA-II with 8bpp board.

3e8a0de0 30-Aug-2022 tsutsui <tsutsui@NetBSD.org>

wsfb: fix mmap size in Afb planar case.

Reviewed on tech-x11@:
https://mail-index.netbsd.org/tech-x11/2022/08/23/msg002311.html

"Looks like good improvement" from jandberg@ and also confirmed by rin@.

dc9c99a5 30-Aug-2022 tsutsui <tsutsui@NetBSD.org>

wsfb: reorganize implementation of Afb support.

- use XORG_VERSION_NUMERIC() to check if Afb is avaiable and
define and use explicit HAVE_SHADOW_AFB macro
- disable all Afb references if it is not available

Reviewed on tech-x11@:
https://mail-index.netbsd.org/tech-x11/2022/08/23/msg002311.html

"Looks like good improvement" from jandberg@ and also confirmed by rin@.

a7f02474 15-Jul-2022 mrg <mrg@NetBSD.org>

various updates to build against xorg-server 21.1.3.

- avoid a const issue with an expanded __UNCONST().
- cope with renamed member names
- deal with "xf86RamDac.h" going away (now use "xf86Cursor.h")

85050a07 07-Jul-2022 rin <rin@NetBSD.org>

For xorg-server 1.10, do not require shadowUpdateAfb8() as
a runtime dependency.

0bb1e2ad 07-Jul-2022 rin <rin@NetBSD.org>

Fix build for xorg-server 1.10, which doesn't have shadowUpdateAfb8().

For amiga, fall back to 1-bpp on xorg-server 1.10.

NFC for xorg-server 1.20 and higher.

b4fe077e 07-Jul-2022 rin <rin@NetBSD.org>

For WSDISPLAY_TYPE_AMIGACC, no need to check ifdef __NetBSD__.

Note that similar block for WSDISPLAY_TYPE_LUNA should be guarded by
``#if defined(__NetBSD__) && defined(WSDISPLAY_TYPE_LUNA)'' on the
other hand; this is intended to distinguish NetBSD and OpenBSD.

bb2f4479 07-Jul-2022 rin <rin@NetBSD.org>

Style. NFC.

3306a6a4 06-Jul-2022 jandberg <jandberg@NetBSD.org>

Add support for 8bpp with Amiga native graphics.

Conversion to bitplane format is done in shadowfb update proc.

b3c77fcc 30-Dec-2019 tsutsui <tsutsui@NetBSD.org>

Add missing newlines in log messages.

fe5fcf53 25-Dec-2019 tsutsui <tsutsui@NetBSD.org>

Fix Xorg wsfb server "Rotate" corruption problem. PR xsrc/54167

Confirmed on zaurus SL-C1000, SL-C3000 (CW) and hpcarm WS003SH (CCW).
Should be pulled up to netbsd-8 and netbsd-9.

8fbcba3d 23-Jul-2019 rin <rin@NetBSD.org>

Correctly support the case of fbi->fbi_fboffset != 0, which means base
address of framebuffer is not page-aligned:

- When mmap framebuffer, fbi->fbi_fboffset is added to the length of
framebuffer. Otherwise, the last page of framebuffer is not mapped
properly if (size of framebuffer) <= (page boundary) < (size of
framebuffer + fbi->fbi_fboffset), since length of mapped area is
counted from page-truncated address. This results in memory
corruption in the upper adjacent page, or SEGV.

- Use fPtr->fbstart (real base address of framebuffer) instead of
fPtr->fbmem (return value of mmap, i.e., page-aligned base address)
where appropriate.

Tested on genfb(4) on Cubietruck, where fbi->fbi_fboffset = 4096.

No functional changes for majority of framebuffer drivers, whose base
address is page-aligned.

e686e132 23-Jul-2019 rin <rin@NetBSD.org>

Add support for 15-bpp framebuffer.

2873f895 03-Feb-2019 jmcneill <jmcneill@NetBSD.org>

The modesetting driver and wsfb access the same hardware but through
different interfaces (/dev/dri/card0 vs /dev/ttyE0). To prevent both
drivers from being active at once, skip wsfb probe if the modesetting
driver has claimed the fb slot.

46edf8f1 31-Dec-2018 mrg <mrg@NetBSD.org>

various updates for xorg-server 1.20. some of these are work-in-progress,
the xsrc build is broken for most ports currently.

- xf86DisableRandR() is gone
- use HAVE_NOTIFY_FD like other modern drivers in compat-api.h
- pRotatedPixmap is done
- some PixmanPtr is now DrawablePtr (this one is all over problem with many
consumers, and perhaps the major breakage point currently.)

72ee27a2 31-Dec-2018 mrg <mrg@NetBSD.org>

updates for xorg-server 1.20:

- xf86GetOS()/LoaderGetOS() have been replaced. replace them with
direct platform #ifdefs for now.
- shadowUpdatePackedWeak() is gone, use local thunks.
- xf86DisableRandR() is gone, disable it (should be obsolete)

14f0c695 22-Jul-2018 macallan <macallan@NetBSD.org>

actually use wsdisplayio_fbinfo::fbi_fboffset

cbc9a668 24-Mar-2017 macallan <macallan@NetBSD.org>

support WSFB_VRAM_IS_SPLIT workaround for wildcat boards - use a shadow fb
and copy dirty areas into both framebuffers
now we can use X on Sun XVR-1200
should work on XVR-500 and others as well

e0b5d487 21-Nov-2016 snj <snj@NetBSD.org>

prune xrefs to xorgconfig

9974adab 16-Aug-2016 mrg <mrg@NetBSD.org>

port xf86-video-wsfb to compat-api.h style interfaces

ce2d3770 16-Aug-2016 mrg <mrg@NetBSD.org>

mibstore.h and its miInitializeBackingStore() have been otherwise empty
since at least xorg-server 1.10. remove all reference to them as the
header is gone in xorg-server 1.18.

0ef55ed1 17-Feb-2016 macallan <macallan@NetBSD.org>

add a shadowfb update function which endian-swaps 32bit pixels, use if we
have hardware with BGRA pixel format ( like a wrong-endian ARGB framebuffer )
with this applications that use xrender work properly on things like mgx in
32bit colour

7b613f18 21-Jul-2014 tsutsui <tsutsui@NetBSD.org>

Add kludge to use luna68k 4/8bpp framebuffers as a monochrome server.

The idea is taken from mlterm-fb --depth option implementation.

This change should not affect other framebuffer types.
Tested on 4bpp on LUNA and 1bpp/8bpp on LUNA-II.

371b4ab3 20-Jul-2014 tsutsui <tsutsui@NetBSD.org>

Add one more cmsize == 0 check before PUTCMAP ioctl.

b8199fcb 20-Jul-2014 tsutsui <tsutsui@NetBSD.org>

No need to handle colormap ioctls if cmsize == 0 even in WSFB_CI case.

0d003323 20-Jul-2014 tsutsui <tsutsui@NetBSD.org>

Fix wrong VRAM size calculation on old drivers without GET_FBINFO ioctl.

The linebytes is a byte number of width so it should be
(linebytes * height), not (width * linebytes).

XXX: I'm not sure where WSDISPLAYIO_GET_FBINFO implementation was discussed
but I wonder if we should use proper ifdef or macro to share this
third party Xorg driver with OpenBSD...

b6e55117 22-Jan-2014 macallan <macallan@NetBSD.org>

make Option "HWCursor" actually work, default to true

53d96324 18-Oct-2013 apb <apb@NetBSD.org>

CARD32 might be unsigned int or unsigned long, depending on platform,
so cast to unsigned int when printing.

48391333 05-Jun-2013 mrg <mrg@NetBSD.org>

fix a merge botch.

cec4939c 05-Jun-2013 mrg <mrg@NetBSD.org>

update for xf86-video-wsfb 0.4.0

cba5e21c 05-Jun-2013 mrg <mrg@NetBSD.org>

merge xf86-video-wsfb 0.4.0

83e03a40 05-Jun-2013 mrg <mrg@NetBSD.org>

initial import of xf86-video-wsfb-0.4.0

141baaa7 28-Mar-2013 mlelstv <mlelstv@NetBSD.org>

Call removeShadow only when shadowFB has been initialized.

b83350a8 14-Feb-2013 macallan <macallan@NetBSD.org>

call ioctl(WSDISPLAYIO_SMODE, ...) in EnterTV/LeaveVT so kernel graphics
drivers get notified when we switch in and out of X

3788fa92 31-Jan-2013 macallan <macallan@NetBSD.org>

use WSDISPLAYIO_GET_FBINFO if available

ce8ce673 10-Jan-2013 jmcneill <jmcneill@NetBSD.org>

WSDISPLAY_TYPE_VC4 framebuffer is BGR

8fc0431c 22-Jul-2011 tsutsui <tsutsui@NetBSD.org>

Make wsfb driver work with 1bpp wscons framebuffer on luna68k:
- Pass proper args (a number of line dots, not byte of screen width)
to fbScreenInit() in 1bpp case, as X11R6 Xhpc server did
- handle luna68k quirk (fbstart has 8 byte offset) by WSDISPLAYIO_GTYPE
(XXX wstype should be stored in pScrn?)
- set rgbBits properly in 1bpp and 4bpp cases
(XXX not sure if really necessary)

69518600 21-Jul-2011 tsutsui <tsutsui@NetBSD.org>

Remove obsolete #ifdef HAVE_XF1BPP and #ifdef HAVE_XF4BPP blocks,
which have been removed on xorg-server 1.6.1.190 merge:
http://mail-index.NetBSD.org/source-changes/2009/06/11/msg222272.html

0dc4bc9b 17-May-2011 macallan <macallan@NetBSD.org>

xf86LoaderReqSymbols() is no more

a9060c92 15-May-2011 christos <christos@NetBSD.org>

Add headers for missing prototypes and missing prototypes

c59a3c9d 24-Nov-2010 mrg <mrg@NetBSD.org>

fix the previous - use GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) > 6.

1b41fcf5 23-Nov-2010 mrg <mrg@NetBSD.org>

copy a hack from the vmware driver, and avoid using xf86LoaderReqSymLists()
and LoaderRefSymLists() in xorg-server >= 1.7.

f6a2e1d6 10-Jan-2010 veego <veego@NetBSD.org>

Regenerate to match current source
* Commented entries added (HAVE_XF1BPP, HAVE_XF4BPP)

97833113 31-Dec-2009 macallan <macallan@NetBSD.org>

use BGR on XVR-1000

b603b469 12-Dec-2009 nonaka <nonaka@NetBSD.org>

Enable shadowFB for rotate option.

377bb882 09-Nov-2009 mrg <mrg@NetBSD.org>

merge 0.3.0

4a5ed537 09-Nov-2009 mrg <mrg@NetBSD.org>

build fix for 0.3.0.

64f08a18 09-Nov-2009 mrg <mrg@NetBSD.org>

merge xf86-video-wsfb 0.3.0

5d713044 09-Nov-2009 mrg <mrg@NetBSD.org>

initial import of xf86-video-wsfb-0.3.0

8fc67beb 12-Jun-2009 mrg <mrg@NetBSD.org>

new generated files

2b2b17b3 12-Jun-2009 mrg <mrg@NetBSD.org>

xf86_ansic.h is no more.
use <errno.h> and <sys/mman.h> always.
remove no longer working 1 and 4 bpp. :-(

5d492fd2 04-Nov-2008 macallan <macallan@NetBSD.org>

add hw cursor support and unbork shadow fb support.
TODO: find out how shadow fb is supposed to work in Xorg

357bfbb2 02-Aug-2008 mrg <mrg@NetBSD.org>

initial import of xf86-video-wsfb-0.2.1