On Thu, 28 Dec 2000, Nicolas Souchu wrote:

> On Thu, Dec 28, 2000 at 12:21:09AM +0100, Christoph Egger wrote:
> > 
> > On Wed, 27 Dec 2000, Johannes Zellner wrote:
> > 
> > > Hello again,
> > > 
> > > xmi sometimes SEGFAULTS in
> > > 
> > >     libxmi/display/X/mode.inc:56
> > > 
> > > folks!  This is /very/ bad coding style IMHO!
> > > XXMI_PRIV() is a threefold preprocessor macro, two times
> > > casting to another struct and yet using another global
> > > variable _xmiID.
> > > 
> > > If you code like this, you will get bugs for /ever/,
> > > I'll promise that!
> > > 
> > > How would you expect me to debug crap like this ?
> > 
> > Not at all. We do a complete rewrite in this case. Unfortunetly,
> > there is noone, who has time for that... :(
> 
> Is it specific to the X display?
> 
> And how many times should it be rewritten? Is it like the Linux IP
> stack, firewalling, VM or parport drivers?

I don't know. The bug Johannes found is already well-known since
I have written the X/Xlib-target. It causes a crash, when
ggiSetMode() is called _after_ xmiAttach().

This bug is easy to fix, but a rewrite is more trivial.

LibXMI in the current state is a result of some QuickHacks.

A Rewrite have to remove all the crap, which is in the code.


Jon: IMHO we should discuss the new design of libxmi.

AFAIR the goals are:

- Removing the miPaintedSet-stuff from everywhere (including the API)
- optimize the polygon-drawer for speed and extensibility
- add flat- and gouraud-shading
- rewrite the blending to make hw-acceleration possible
- add alpha-buffer for transluency
- add stencil-buffer
- add support for 2d-primitives like circles, ellipses, etc.
  (but no sprite-support! This belongs to the libblit-extension)


We should also discuss, if adding a z-buffer makes sense, because a
z-buffer is a 3d-feature but libxmi is a 2d-lib.

We should also discuss, if we should use libgcp to handle the
blending stuff. Using libgcp allows to use different colorspaces like
RGBA, YUV, CMYK and HSV.

I announced libgcp on this list on Sunday, 24. Dec.


Christoph Egger
E-Mail: [EMAIL PROTECTED]

Reply via email to