On Fri, Nov 15, 2002 at 07:45:21AM -0700, Brian Paul wrote:
> Jens Owen wrote:
> > Ian Romanick wrote:
> > 
> >> Can I get a quick run-down of the GLX code so that I can know where to
> >> begin?
> > 
> > 
> > Most of the server side support for GLX proper is in:
> > 
> >   xc/programs/Xserver/GL/glx
> > 
> > This provides the main extension for indirect rendering and interfaces 
> > with the "../dri" and another glue piece "../mesa/src/X", I think, to 
> > complete the server side support.
> > 
> > The client side support is in:
> > 
> >   xc/lib/GL/glx
> 
> That's basically it.  If you've got detailed questions I can try to
> answer them.  Adding new extensions which just add new enum values
> is pretty simple.  Adding new GL/GLX functions is more work since you
> have to implement the GLX encode/decode functions and server-side
> dispatch.

I'm going to implement SGI_swap_control (which adds glXSwapIntervalSGI)
first because implementing it in any of the drivers that supports the vblank
syncing would be trivial.  That way 99% of the work in not device dependent.
:)  In the R200 driver, the behavior of SGI_swap_control can be added by
changing r200WaitForVBlank to do something like:

   if ( rmesa->swap_interval != 0 ) {
      vbl.type = DRM_VBLANK_ABSOLUTE;
      vbl.sequence = rmesa->vbl_seq + rmesa->swap_interval;
   }
   else if ( getenv("LIBGL_SYNC_REFRESH") ) {
      ...

The only catch is that I can find NO documentation of the GLX protocol for
it.  Given that, I'm going to implement it for direct rendering contexts
only.  I believe that this could be done by either adding a new entry point
to __DriverAPIRec or adding a swap_interval field to __DRIcontextPrivateRec
and adding a DRIswapInterval function to dri_util.c.

I would then fill-in glXSwapIntervalSGI in lib/GL/glx/glxcmds.c to look
either like glXSwapBuffers or glXUseXFont (for their gc->isDirect cases,
anyway).

What needs to be done in programs/Xserver/GL/glx/?  How do I get the
extension string exported?  This also applies to the
GLX_ARB_get_proc_address string. :)

-- 
Smile!  http://antwrp.gsfc.nasa.gov/apod/ap990315.html


-------------------------------------------------------
This sf.net email is sponsored by: To learn the basics of securing 
your web site with SSL, click here to get a FREE TRIAL of a Thawte 
Server Certificate: http://www.gothawte.com/rd524.html
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to