From: Michael <macallan1888@gmail.com>
To: linux-parisc@vger.kernel.org
Cc: "svens@stackframe.org" <svens@stackframe.org>
Subject: Re: Graphics support (HP VisEG/VisFX/HCRX...)
Date: Tue, 11 Mar 2025 02:57:56 -0400 [thread overview]
Message-ID: <20250311025752.35169870@bushmills> (raw)
In-Reply-To: <10146364-f075-4fa1-9f45-1fa614042ea5@gmx.de>
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
prev parent reply other threads:[~2025-03-11 6:58 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-16 11:41 Graphics support Michael
2024-12-17 20:28 ` Graphics support (HP VisEG/VisFX/HCRX...) Helge Deller
2024-12-18 2:54 ` Michael
2024-12-18 3:58 ` Michael
2025-03-11 6:57 ` Michael [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250311025752.35169870@bushmills \
--to=macallan1888@gmail.com \
--cc=linux-parisc@vger.kernel.org \
--cc=svens@stackframe.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox