[Fwd: FW: Win32 XServer]
Wed Nov 17 20:07:00 GMT 1999
John Fortin wrote:
> > 1. Forget about trying to get XF86_SVGA working direct to hardware
> > (at least initially; go back and try later if you really wish).
> > 2. Don't try to directly program the hardware for graphics, mouse or
> > keyboard. Instead write the proper OS support functions for the X
> > event mechanims that talk to the Win32 event mechanism and/or
> > DirectInput.
> Mostly done
> > 3. Start out with an unaccelerated server (you can base it on
> > XF86_SVGA since the framework is all there), that uses DirectDraw
> > to draw directly on the video memory surface.
> Well, back buffer, then blit to primary. back buffer is created in
> user memory with a constant pointer so I don't have to lock the backing
> surface... Only the primary gets locked during the blit.
> > 4. Use smart surface locks around the highest level primitives
> > possible (by smart I mean use a reference counter so you can
> > avoid a re-lock if the surface was already locked by a higher
> > level primitive).
> Probably not needed. See above
> > 5. When the above all works, you can then use the DirectDraw BitBlt
> > functions to do solid blits, transparent blits and solid color
> > fills to get some form of acceleration. The blits and color fills
> > will make a *huge* difference, and at that point you will have a
> > *very* useable server.
> To be done at a later time..
> > 6. To make things faster, you can use GDI to draw on the primary
> > surface which would allow you to accelerate text, line drawing
> > and pattern fills.
> Personally, I don't like using the GDI. Since I have a buffer I can
> access, I would almost rather use home-grown utilities. However, I
> am not unwilling to be persuaded...
More information about the Cygwin-xfree