On Thu, 19 Dec 2002, Brian S. Julin wrote:

> 
> On Tue, 17 Dec 2002, Rodolphe Ortalo wrote:
> > Is it also the case for putc, puts (and possibly copybox)? I have some
> > strange output with them.
> 
> If the put* functions are implemented in software, yes, and indeed
> the generic renderers do call PREPARE_FB before beginning to draw.
> 
> An analysis of whether it is more efficient to copy the pixel data
> into a texture buffer and transfer it to KGI for hw blitting would
> be welcome here.  I think if KGI drivers did so, it would neatly sidestep
> the whole syncing issue (all ops would go through the accel, so
> the only time syncing needs to be considered is with directbuffer) not
> to mention possibly providing a speedup (DMA/AGP/whatever handles slow 
> VRAM bus accesses while the CPU simultaneuously runs at normal memory 
> bandwidth and allows the app to prepare the next commands.)

I think there are also some specific functions for drawing characters in
hardware using 8x8 font maps. (In fact, this reduces to a 64bits
monochrome bitmap.) Of course it probably does not apply to antialised
fonts, or different font sizes. In this case I guess going the texture way
is probably easier. But maybe this would be more for libggi2d than for
libggi per-se?
 I think Filip implemented the 8x8 fixed font accel for the Radeon accel
sublib; I'll try soon myself.

[...]
> > I also have some strange things around clipping. It seems I need to call
> > GGI_kgi_Gx00_idleaccel() myself from my GGI_kgi_Gx00_gcchanged() function
> > as soon as some clipping modifications are involved. If I don't, some of
> > the output of "./demo" is incorrect wrt hline, vline of box tests.
> 
> Yeah, well if the card does that, then it must be handled correctly,
> so you'll be needing to sync the accelerator before altering the
> scissor registers.  It's too bad that this is the case -- if I
[...]

It is not Matrox's fault! I had a bug in my accel library in fact, in some
situations, the tail of a DMA buffer was not actually sent to the
kernel. Only a few dwords were missed, but apparently enough to miss some
of the clipping parameters.

Reply via email to