Ove Kaaven wrote:
>
> > > I've been thinking about going about all this in a different
> > > way. Instead
> > > of loading up dlls/ddraw with driver-dependent code, perhaps we should
> > > consider driver separation not only in dsound (like it's done
> > > now, with
> > > IDsDriver in the wineoss driver), and like I want to do with dinput
> > > (IDiDriver in winmm's joystick driver etc), but also in ddraw?
> > >
> > > So the x11drv (and any future graphics drivers) would export a
> > > IDdDriver-or-whatever-it's-called COM interface, that dlls/ddraw could
> > > then build upon, just like in windoze. All the DGA, DXGrab,
> > > and GLX code
> > > would then have to be moved into the x11drv, obviously, so
> > > it'd be a lot
> > > of work, but it'd certainly give us some advantages as well...
When I read Alexandre's comments on the USER issue, I was thinking about
suggesting this as a potential solution. Then I thought of all the work
that would be involved and decided not to bring it up.
On further reflection, it does sound like this is the Right Thing(tm) to do.
After all, Windows' display and input drivers have DirectX hooks in them,
so why shouldn't Wine's?
With this kind of restructuring, we'll want to make the driver API as
independant of X as possible. This seems easy for the DXGrab and OpenGL
stuff, but I don't quite see how we'll handle XVidMode and DGA2 in a
clean way. We can simply expose driver API that allows DDraw to make
driver calls that are equivalent to the X calls is uses now, but I
don't think that would buy us much over what we have now.
I'm happy to sign us up to do this kind of restructuring, but there are
some other things that are higher on our priority list at the moment.
It may take us a few weeks to get around to this. In the meantime,
on the DXGrab front, given that the previous DDraw implementation
used WIN_FindWndPtr for this, can we leave it in for now until
the restructuring happens? Some 2D games suck a fair bit without
this...
-Gav
--
Gavriel State, CEO
TransGaming Technologies Inc.
http://www.transgaming.com
[EMAIL PROTECTED]