El Lun 18 Jun 2001 22:46, escribiste:
> "Jeremy W. Bean" wrote:
> > On Monday 18 June 2001 12:00, you wrote:
> > > I'm also starting to look at the code for the mach64. What do you mean
> > > with the new driver template code? Are you talking about the structure
> > > of the ATI driver in the mach64 branch?
> > > Any help will be appreciated.
> > >
> > >
> > >From what I can tell about the driver templates, and correct me if I am
> >
> > wrong anyone more experienced with the code.  Check out for examples the
> > r128 driver from the trunk, for a good example.  Notice there are files
> > in there such as r128_tritmp.h.  This is a template that gets included in
> > r128_tris.c.
> >  What it does basically is consolidate code that is largly reproduced
> > over several functions, so that you set a few macros.  For example:
> >
> > #define IND (R128_TWOSIDE_BIT)
> > #define TAG(x) x##_twoside
> >
> > followed by
> > #include "r128_tritmp.h"
> >
> > Notice the inline function's name defined in r128_tritmp.h is the result
> > of the TAG macro, as well the function's content is dependant on what IND
> > value is defined.  So essentially the inline function is a template for
> > various functions that have a bit in common.  That way you consolidate
> > common code and keep things consistent.
> >
> > The current mach64 branch is only using one template in the driver.  But
> > yes, it does have some of the driver template code there.
>
> Nice explanation. :)
>
> Look at e.g. programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/r128.h
> though. That's the template architecture at its beauty. Most of the code is
> shared between the drivers, customized with a few defines. Compare that to
> the duplication and inconsistency before.

OK. I've understood the mechanism. I've merged the mach64 driver stuff into a 
copy of the  4.1.0 trunk. All is compiling but the drm driver, because these 
holy templates. Tomorrow, I'll try to finish the work.

Thanks a lot for your explanations.

Best regards.


_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to