Måns Rullgård wrote:
Thomas Winischhofer <[EMAIL PROTECTED]> writes:

I've been trying to find specs for implementing hardware RENDER
support for my graphics card.  I have the specs for the card.  The
problem is that nobody seems to know what the various RENDER functions
in a driver are supposed to do, or what the structs represent.
Without this information, there's not much I can do.

For a start, look at the mga or the sis driver. Both accelerate aa texture blitting for aa text with quite remarkable speed improvements.


I was hoping not to have to wade through hundreds of lines of chip
specific code and try to guess what they tell the chip to do.  If I
only knew exactly what the functions are supposed to do, and what the
supplied data is, it would be straight-forward to have my chip do the
work.

The parts that do RENDER accleration are by no means hundreds lines of code. It plain two accelerator functions. I myself had no clue either when I started, and implementing this took only one day.


It's basically two blitting functions: one for pure alpha map (one bitplane, only alpha values; this one is used for aa text), one for 32 bit ARGB bitmaps. If you know how to implement this on your hardware, it's really easy. You can take over most of the surrounding code from either the mga or the sis driver, and just replace the machine specific stuff. The mga driver uses the 3D engine for this (AFAIK), the sis driver the 2D engine and a small hack (for aa text, since the engine lacks support for doing source and destination alpha at the same time). If you look at the sis driver, look in sis310_accel.c for everything inside #ifdef INCL_RENDER.

I am afraid that is all the help I can give you. I haven't found any documentation on this either.

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net          http://www.winischhofer.net/
twini AT xfree86 DOT org

_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel

Reply via email to