On 15 May 2000, Alexandre Julliard wrote:
> Ove Kaaven <[EMAIL PROTECTED]> writes:
>
> > So what I did, was to make DirectDraw take over the DISPLAY driver and let
> > any normal CreateDCs done on it create a memory DC with the primary
> > DirectDrawSurface DIBsection selected into it. Then I called into the DCE
> > routines to let it reinitialize its DCE cache (which is used by GetDC) so
> > it got these new DCs. GetDC calls the SetDrawable function on a cached DCE
> > to set which window to draw on (which is not applicable to memory DCs), as
> > well as the appropriate origin coordinates (which *is* applicable to
> > memory DCs). (I haven't submitted these patches yet.)
>
> I don't like the idea of abusing memory DCs or the DCE cache in this
> way. Wouldn't it be possible to make this work by keeping all the
> normal mechanism but simply substituting another X drawable on the DC
> when in DGA mode? (i.e. DirectDraw would replace pSetDrawable with
> something that puts the DIB section drawable into the DC instead of
> the normal window).
If I did, X11DRV_DIB_UpdateDIBSection would not be able to do its job; it
would be rather difficult to sync GDI access and surface access.