List Info

Thread: Directfb Xorg server




Directfb Xorg server
user name
2006-05-31 15:05:39
Lets refactor the servers so the DDX contains main not the
DIX layer.
So I can remove my hack.

Thats a first step.

A lot of the conditionals in the DIX layer can be removed by
having
the ddx provide
a list of function pointers to the dix during
initialization. Right
now the dix controls
the flow of initialization if we reverse this and let the
ddx manage startup and
make the dix a real library of default  functions. This will
greatly
reduce or eliminate
all the wrapping and unwrapping going on since the ddx knows
the
functions it wants to call.
Finally it would allow more extensions to be optional since
they can
provide there own
function lists to the DDX thence DIX when loaded.

On the ddx side there is probably a new set of ddx common 
implementation
 code that was once part of the dix but this is now optional
for the
ddx layer and it
provides example code for ddx implementations that differ to
dramatically from the norm
to work.

In my case I'd love to see the X protocal handling split
out from the
implementation
this would allow a completely different server
implementation. So dix
splits into
xprotocol or wire handling and sample event processing.

For example in dispatch.c ProcCreateWindow

      return BadValue;
    }
    pWin = CreateWindow(stuff->wid, pParent, stuff->x,
                  stuff->y, stuff->width,
stuff->height,
                  stuff->borderWidth, stuff->class,
                  stuff->mask, (XID *) &stuff[1],
                  (int)stuff->depth,
                  client, stuff->visual, &result);

If this call was done via a new function pointer
say
ddx->CreateWindow ....

we have isolated the event handling and the ddx layer need
not
implement even the
current design.

My suggestion is get rid of main in the dix
add a new struct provided by the ddx and passed into the new
dix intializer.
Split the protocol handling out to call through the ddx
function pointers.
Let the ddx use the remainig dix functions as a default
implementation
library and
let it control initialization.

Mike




On 5/31/06, Adam Jackson <ajaxnwnk.net> wrote:
> On Wednesday 31 May 2006 05:10, Enrico Weigelt wrote:
> > * Adam Jackson <ajaxnwnk.net> schrieb:
> >
> > <snip>
> >
> > > The goal here is to be _capable_ of building
every DDX at once.
> >
> > Why is that a goal ?
>
> Because the ability to do so is a prerequisite for the
DIX layer being
> correctly factored, such that:
>
> > Coulnd't we just splitt off the server into base
libs and the
> > individual servers (DDX'es) ?
>
> is eventually possible.  This should be intuitive from
direct inspection;
> formal proof is left as an exercise for the reader.
>
> - ajax
>
>
> _______________________________________________
> xorg mailing list
> xorglists.freedesktop.org
> ht
tp://lists.freedesktop.org/mailman/listinfo/xorg
>
>
>

_______________________________________________
directfb-dev mailing list
directfb-devdirectfb.org
http://mail.directfb.org/cgi-bin/mailman/listinfo/
directfb-dev
[1]

about | contact  Other archives ( Real Estate discussion Medical topics )