On Fri, Jul 15, 2011 at 7:52 AM, Mika Blanc <mika.bl...@gmail.com> wrote: > This patch adds a boolean "DRI" option to the mach64 driver. Direct > rendering can be either enabled (default) or disabled with this option. > > Signed-off-by: Mika Blanc <mika.bl...@gmail.com> > --- > src/aticonfig.c | 10 ++++++++++ > src/atidri.c | 7 +++++++ > src/atioption.h | 1 + > src/atistruct.h | 1 + > 4 files changed, 19 insertions(+), 0 deletions(-) > > diff --git a/src/aticonfig.c b/src/aticonfig.c > index 621e79e..23837e2 100644 > --- a/src/aticonfig.c > +++ b/src/aticonfig.c > @@ -103,6 +103,13 @@ static const OptionInfoRec ATIPublicOptions[] = > #ifdef XF86DRI_DEVEL > > { > + ATI_OPTION_DRI, > + "DRI", > + OPTV_BOOLEAN, > + {0, }, > + FALSE, > + }, > + { > ATI_OPTION_IS_PCI, > "force_pci_mode", > OPTV_BOOLEAN, > @@ -323,6 +330,7 @@ ATIProcessOptions > > #ifdef XF86DRI_DEVEL > > +# define DRI PublicOption[ATI_OPTION_DRI].value.bool > # define IsPCI PublicOption[ATI_OPTION_IS_PCI].value.bool > # define DMAMode PublicOption[ATI_OPTION_DMA_MODE].value.str > # define AGPMode PublicOption[ATI_OPTION_AGP_MODE].value.num > @@ -368,6 +376,7 @@ ATIProcessOptions > #endif > > #ifdef XF86DRI_DEVEL > + DRI = TRUE; > DMAMode = "async"; > #endif > > @@ -428,6 +437,7 @@ ATIProcessOptions > > #ifdef XF86DRI_DEVEL > > + pATI->OptionDRI = DRI; > pATI->OptionIsPCI = IsPCI; > pATI->OptionAGPMode = AGPMode; > pATI->OptionAGPSize = AGPSize; > diff --git a/src/atidri.c b/src/atidri.c > index 9c6719b..8274d67 100644 > --- a/src/atidri.c > +++ b/src/atidri.c > @@ -1181,6 +1181,13 @@ Bool ATIDRIScreenInit( ScreenPtr pScreen ) > drmVersionPtr version; > int major, minor, patch; > > + /* Disable DRI if explicitly requested by configuration */ > + if ( !pATI->OptionDRI ) { > + xf86DrvMsg( pScreen->myNum, X_INFO, > + "[dri] Direct rendering forced off\n" ); > + return FALSE; > + } > + > /* Check that the GLX, DRI, and DRM modules have been loaded by testing > * for known symbols in each module. > */ > diff --git a/src/atioption.h b/src/atioption.h > index 37303ef..0e83782 100644 > --- a/src/atioption.h > +++ b/src/atioption.h > @@ -41,6 +41,7 @@ typedef enum > > #ifdef XF86DRI_DEVEL > > + ATI_OPTION_DRI, > ATI_OPTION_IS_PCI, > ATI_OPTION_DMA_MODE, > ATI_OPTION_AGP_MODE, > diff --git a/src/atistruct.h b/src/atistruct.h > index 5225256..a0b8054 100644 > --- a/src/atistruct.h > +++ b/src/atistruct.h > @@ -508,6 +508,7 @@ typedef struct _ATIRec > int depthTexLines; > FBAreaPtr depthTexArea; > #endif > + CARD8 OptionDRI; /* Direct rendering */ > CARD8 OptionIsPCI; /* Force PCI mode */ > CARD8 OptionDMAMode; /* async, sync, mmio */ > CARD8 OptionAGPMode; /* AGP mode */ > -- > 1.7.6
Is DRI enabled by default really the right thing to do for a driver whose DRM components never made it upstream into the Linux kernel? Or maybe you're concerned with BSD or something? Matt _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel