History log of /xsrc/external/mit/xf86-video-suncg14/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
a61c6651 13-May-2024 macallan <macallan@NetBSD.org>

support 16bit colour
This requires kernel support, which was committed yesterday.

6fdc29e9 24-Apr-2024 macallan <macallan@NetBSD.org>

don't enable xrender support unless we have 24bit colour

665b72dd 11-Jan-2023 macallan <macallan@NetBSD.org>

be more consistent with debug options

698f741c 09-Jan-2023 mrg <mrg@NetBSD.org>

fix previous - still include xf86Cursor.h

25ad54ca 08-Jan-2023 mrg <mrg@NetBSD.org>

merge xf86-video-suncg14 1.1.3, xf86-video-suncg6 1.1.3,
xf86-video-sunffb 1.2.3, xf86-video-sunleo 1.2.3,
and xf86-video-suntcx 1.1.3.

ffb_driver.c probably needs explicit testing that the EXA/XAA
code still works properly.

66ab3337 08-Jan-2023 mrg <mrg@NetBSD.org>

initial import of xf86-video-suncg14-1.1.3

556200c8 15-Jul-2022 mrg <mrg@NetBSD.org>

more xf86RamDac.h vs xf86Cursor.h.

3a2c2bca 11-May-2022 macallan <macallan@NetBSD.org>

fix tpyo
thanks rin@

3be5cdcc 11-May-2022 macallan <macallan@NetBSD.org>

treat PictOpOver with a solid source and an empty mask as simple fill
somewhat less glitchiness in gtk3 but we're not quite there yet

b0f02aef 11-May-2022 macallan <macallan@NetBSD.org>

disable accidentally committed debug goop

2066ab30 11-May-2022 macallan <macallan@NetBSD.org>

make debug output a bit more manageable

6fd6e0f4 11-May-2022 macallan <macallan@NetBSD.org>

don't pretend to support PictOpSrc - those can be quite a bit more complicated
than simple copy ops
With this gtk3 buttons are still occasionally glitchy but at least we don't
crash anymore

ad6af7a7 11-May-2022 macallan <macallan@NetBSD.org>

consistently use SX_RENDER_DEBUG, hide some more debug goop

031e8e94 04-Mar-2022 macallan <macallan@NetBSD.org>

fix calculation for start of off-screen memory in 24bit colour

0b762603 24-Dec-2021 macallan <macallan@NetBSD.org>

add some comments

230e26c7 24-Dec-2021 macallan <macallan@NetBSD.org>

make ALU instructions use the same format as load/store instructions
same binary generated

72fd264f 24-Dec-2021 macallan <macallan@NetBSD.org>

add macros to simplify issuing SX instructions, hide the address alignment /
displacement shenanigans SX needs, and make the code more resemble the
inline assembler source it arguably is

c1537409 19-Dec-2021 macallan <macallan@NetBSD.org>

always drain the pipeline before writing SX_ROP_CONTROL

86527ef6 10-Dec-2021 macallan <macallan@NetBSD.org>

break down large, unaligned copies into chunks that CG14Copy8_short_*()
can handle, make sure destinations are aligned whenever possible
now we only fall back to byte-wise access for really small copies, which
we probably shouldn't bother throwing at SX in the first place

76a85281 10-Dec-2021 macallan <macallan@NetBSD.org>

skip reading destination fb if we're going to overwrite it, only read words
we need to partially write
while there write mask registers only if we're actually going to need them
another 20% speedup

9d7fb28b 10-Dec-2021 macallan <macallan@NetBSD.org>

CG14Copy8_short_rop(): skip the funnel shifter if source and destination are
aligned. Small but measurable speedup.

f787bc61 10-Dec-2021 macallan <macallan@NetBSD.org>

add another Copy8() variant:
- supports unaligned source and destination
- uses all 32bit accesses
- supports copies up to 124 pixels wide so an entire line fits into registers
and we can ignore x direction
... mostly an exercise in learning how to use the funnel shifter
TODO:
- skip the funnel shifter if source and destination are aligned
- skip fb reads where possible, like straight GXcopy

faf11d72 09-Dec-2021 christos <christos@NetBSD.org>

Pixel == unsigned long, fix format.

8c65af2d 03-Dec-2021 macallan <macallan@NetBSD.org>

shutup debug goop

81c68cf8 03-Dec-2021 macallan <macallan@NetBSD.org>

start optimizing Copy8() operations
- only go right to left if srcY == dstY in the same pixmap
- special case copy where src and dst X have the same alignment
- special case the above where we don't need to read dst
scrolling should now be about as fast as SX can go

dbf8597c 03-Dec-2021 macallan <macallan@NetBSD.org>

use 32bit accesses for non-trivial cases in Solid8() as well
while there make GXset and GXclear special cases of GXcopy
with this we only ever read the destination pixmap if we really need to

b46cab2a 03-Dec-2021 macallan <macallan@NetBSD.org>

draw very narrow rectangles correctly

af51b663 02-Dec-2021 macallan <macallan@NetBSD.org>

fix shadow fb geometry calculations
... not that a shadow fb helps much on this hardware.

b8ad197a 02-Dec-2021 macallan <macallan@NetBSD.org>

first step towards acceleration in 8 bit colour
- Copy() uses byte mode
- Solid() uses 32bit writes where possible for plain fills
... mostly works, but could be quite a bit faster

2870aaa1 02-Dec-2021 macallan <macallan@NetBSD.org>

support 8 bit colour
no acceleration yet, the code is riddled with 32bit per pixel assumptions

246c8063 01-Dec-2021 macallan <macallan@NetBSD.org>

remove old guesswork code to determine VRAM size - we can rely on OBP now

c2193d98 24-Jul-2019 macallan <macallan@NetBSD.org>

avoid stalling the CPU by letting the SX instruction FIFO drain every couple
of memory instructions.
No more missed IPIs when building stuff in an xterm so far...

fc473876 01-Mar-2019 macallan <macallan@NetBSD.org>

poll SX_BZ instead of SX_MT, also complain and dump register info if CG14Wait()
times out.

fe196524 31-Dec-2018 mrg <mrg@NetBSD.org>

mostly fix amd64 xorg-server 1.20 builds:

- avoid bswap_16 etc defines for now. ends up with code-in-decl
- more ABI_VERSION 23 fixes (BlockHandler/WakeHandler) including re-fix
from previous
- more Notify API
- more shadowUpdatePackedWeak() removal
- remove fd_set handling from intel driver (part of ABI_VERSION 23)
- cope better with PixMap/Drawable separation in new server
- remove support for maxHValue and maxVValue (XXX?)
- hide drmmode_udev_notify() when not building udev
- comment out nouveau 'wfb' support, xorg-server 1.20 only supplies
either 'wfb' or 'fb' interface, not both, and we choose 'fb'
- define 'pointer' in nv_proto.h rather than relying upon Xdefs.h
- normalise the value of _XTYPEDEF_POINTER
- EGL is broken (missing) in xsrc currently

78d1a11b 08-Dec-2017 macallan <macallan@NetBSD.org>

do up to 4 pixels at a time CG14Comp_Over*()

e311bbee 07-Dec-2017 macallan <macallan@NetBSD.org>

RGB/BGR-flip source images in CG14Comp_Over32*() with non-solid sources
as well. This takes care of most remaining RGB/BGR issues in xrender.
Next step: do more than one pixel at a time in those operations.

d71cb32d 30-Oct-2017 macallan <macallan@NetBSD.org>

support PictOpAdd with A8 source and ARGB/ABGR destination
now labels in windowmaker look right again

f71acd79 14-Jan-2017 macallan <macallan@NetBSD.org>

handle 8bit pixmaps in CG14PrepareCopy(), now the glyph cache works properly

4bd47ccf 13-Jan-2017 macallan <macallan@NetBSD.org>

CG14CheckComposite():
- don't crash with SX_DEBUG set
- check destination format

a332beb9 27-Sep-2016 joerg <joerg@NetBSD.org>

Don't directly use assignments in if (), but add the commonly accepted
explicit pair of parenthesis.

a94eab53 18-Sep-2016 christos <christos@NetBSD.org>

There is no X_DEBUG

f221549c 16-Sep-2016 macallan <macallan@NetBSD.org>

do PictOpOver operations 4 pixels at a time - this is a vector processor,
let's do some vector processing
-> about 40% speed increase

fe97f391 16-Sep-2016 macallan <macallan@NetBSD.org>

- DPRINTF() some debug output
- remove unused #defines

c88c16f8 16-Sep-2016 macallan <macallan@NetBSD.org>

adapt to xorg 1.18

6adb3ac0 07-Sep-2016 macallan <macallan@NetBSD.org>

XFree86LOADER is officially no longer optional ( and we didn't treat it as
optional for quite some time ) so start nuking it

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.

5272ebe0 29-Apr-2014 macallan <macallan@NetBSD.org>

write all SX commands to 64bit-aligned addresses
now this works on rev. 27 hardware

239808ba 30-Jul-2013 macallan <macallan@NetBSD.org>

now we get PictOpOver with no source alpha and a 32bit mask right
( mostly gtk2 icons and button images )
TODO: RGB vs. BGR

81a370e6 30-Jul-2013 macallan <macallan@NetBSD.org>

support PictOpOver with 32bit source and mask

fa158432 25-Jul-2013 macallan <macallan@NetBSD.org>

"support" PictOpOver with 32bit source and 32bit mask
this needs more work but at least it makes things like gkrellm readable

f7cb851f 03-Jul-2013 macallan <macallan@NetBSD.org>

- fetch fill colour for text drawing in CheckComposite, swap red and blue
channels as needed
- support solid sources without a drawable
now gtk2 apps no longer crash the Xserver and text is drawn in the correct
colour
next step: 32bit PictOpOver with 32bit mask, gtk2 seems to use those a lot

6bdc2ffd 03-Jul-2013 macallan <macallan@NetBSD.org>

support PictOpOver with 32bit source without alpha, alpha in mask
now KDE3 looks mostly right
( yes, it's almost usable on a 125MHz HyperSPARC )
gtk2 apps still crash though

78cb1511 25-Jun-2013 macallan <macallan@NetBSD.org>

missed one
( move CG14Comp_Over32Solid() too )

a3a2ba44 25-Jun-2013 macallan <macallan@NetBSD.org>

- support PictOpSrc, mask is ignored so far
- support PictOpOver with non-solid source, with or without mask - now QT3
icons are rendered properly
- move render operations into their own file

4261fa58 19-Jun-2013 macallan <macallan@NetBSD.org>

support hardware acceleration via SX
This requires a recent cgfourteen kernel driver which allows userland to map
SX register space.
Basic acceleration is enabled by default ( use Option "Accel" "false" to turn
it off ), XRender support is incomplete but good enough for anti-aliased text
rendering ( enable with Option "xrender" "true" ).

0a3f7816 19-Jun-2013 macallan <macallan@NetBSD.org>

remove some unnecessary #includes

7a5333bc 04-Jun-2013 mrg <mrg@NetBSD.org>

merge xf86-video-suncg14 1.1.2, xf86-video-suncg6 1.1.2,
xf86-video-sunffb 1.2.2, xf86-video-suntcx 1.1.2 and xf86-video-sunleo 1.2.1

XXX: these might need more help

2a75d1c4 04-Jun-2013 mrg <mrg@NetBSD.org>

initial import of xf86-video-suncg14-1.1.2

0d3fa27d 26-May-2011 macallan <macallan@NetBSD.org>

#include <sys/ioctl.h>

36040bab 14-Apr-2011 macallan <macallan@NetBSD.org>

oops, missed some debug spam

1a3e96b4 14-Apr-2011 macallan <macallan@NetBSD.org>

add shadowfb and hardware cursor support

1bd6d369 14-Apr-2011 macallan <macallan@NetBSD.org>

use ioctl(FBIOSVIDEO) in CG14SaveScreen(), now the Xserver can actually turn
the monitor off
TODO: hw cursor

766a8447 17-Jun-2010 mrg <mrg@NetBSD.org>

merge xf86-video-suncg14 1.1.1

7ce7e03c 17-Jun-2010 mrg <mrg@NetBSD.org>

initial import of xf86-video-suncg14-1.1.1

b73528ca 10-Jun-2010 macallan <macallan@NetBSD.org>

Make ioctl(CG14_SET_PIXELMODE) a proper NetBSD ioctl() ( as in use _IOW ),
also fix some bogosity in colour weights and depth.
With this and the kernel changes committed earlier the cg14 in my SS20 works
with the suncg14 driver.
TODO:
- beat some sanity in the order in which the Xserver issues various ioctl()s
and opens or closes devices to reduce unnecessary flicker and make sure we
end up in the right colour mode when entering and exiting X
- add hw cursor support
- support 8 bit visuals along with 24 bit or alone for high resolutions

1720b512 14-Mar-2010 macallan <macallan@NetBSD.org>

xf86Version.h is no more

f7ec340b 11-Feb-2010 macallan <macallan@NetBSD.org>

suncg14 driver, from Xorg