Re: Graphics support (HP VisEG/VisFX/HCRX...)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

made some progress.
Mostly detail optimizations on HCRX and EG, and a bit more substance on
the FX4:
- ROPs, cursor sprite colours, 24bit etc. work now
- both the kernel driver and xorg now abuse the back buffer as
  off-screen storage, since unlike HCRX we can set source and
  destination buffers separately on FX
- kernel and Xorg both use the hardware to draw anti-aliased characters
  ( the FX4 supports *some* alpha blending, more on that further down )
- image up- and downloads now use hardware assistance - framebuffer
  reads are *much* faster when you tell the memory controller in which
  direction you're going to read
Still a work in progress, EXA makes a lot of assumptions that aren't
true on these cards.

Now for alpha blending. By the look of it HP implemented just what they
need to draw anti-aliased lines and edges. There is:
- no framebuffer storage - alpha in 32bit colour always reads zero
- only a few blend modes are implemented, all using only source alpha (
  destination would read zero anyway )
What we can do with that is:
- vram-to-vram blits with constant alpha
- rectangle fills with constant alpha ( not too useful... )
- host-to-vram blits with per pixel alpha
The latter lets us do PictOpOver and maybe a few others as long as the
source is in main memory and the destination in video memory. Certainly
enough to draw anti-aliased characters, which is what my drivers are
doing so far.
I strongly suspect that HCRX can do this too, unfortunately I don't even
have a hint of a clue on how to do that.

As for FX5 and 10 - attribute handling on those seems to be
substantially different from FX2/4/6 :/

This is still NetBSD only, but may be useful as hardware documentation
in case anyone wants to update the linux drivers, and I'd happily
assist with that.

have fun
Michael




[Index of Archives]     [Linux SoC]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux