[PATCH sis] Untangle XF86DRI from the driver-specific DRI define

Jeremy Huddleston jeremyhu at apple.com
Mon Jan 9 14:37:26 PST 2012


Reviewed-by: Jeremy Huddleston <jeremyhu at apple.com>

Sent from my iPad

On Jan 3, 2012, at 20:14, Peter Hutterer <peter.hutterer at who-t.net> wrote:

> XF86DRI is defined by xorg-server.h, so --disable-dri in the sis driver
> itself does exactly nothing other than not fill in the CFLAGS and thus stop
> the driver from compiling.
> 
> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
> ---
> configure.ac     |    4 ++--
> src/sis.h        |   16 +++++++++++-----
> src/sis_dri.c    |    2 +-
> src/sis_driver.c |   14 +++++++-------
> src/sis_opt.c    |    4 ++--
> 5 files changed, 23 insertions(+), 17 deletions(-)
> 
> diff --git a/configure.ac b/configure.ac
> index 036a448..a599108 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -99,8 +99,8 @@ AC_MSG_RESULT([$DRI])
> AM_CONDITIONAL(DRI, test x$DRI = xyes)
> if test "$DRI" = yes; then
>         PKG_CHECK_MODULES(DRI, [libdrm >= 2.0 xf86driproto])
> -        AC_DEFINE(XF86DRI,1,[Enable DRI driver support])
> -        AC_DEFINE(XF86DRI_DEVEL,1,[Enable developmental DRI driver support])
> +        AC_DEFINE(SISDRI,1,[Enable DRI driver support])
> +        AC_DEFINE(SIDDRI_DEVEL,1,[Enable developmental DRI driver support])
> fi
> 
> # technically this should be a configure flag.  meh.
> diff --git a/src/sis.h b/src/sis.h
> index 9af31a5..f2ca3a9 100644
> --- a/src/sis.h
> +++ b/src/sis.h
> @@ -181,7 +181,13 @@
> 
> #undef SISHAVEDRMWRITE
> #undef SISNEWDRI
> -#ifdef XF86DRI
> +
> +/* if the server was built without DRI support, force-disable DRI */
> +#ifndef XF86DRI
> +#undef SISDRI
> +#endif
> +
> +#ifdef SISDRI
> #if XF86_VERSION_CURRENT >= XF86_VERSION_NUMERIC(4,2,99,3,0)
> #define SISHAVEDRMWRITE
> #endif
> @@ -195,7 +201,7 @@
> #include "dri.h"
> #include "GL/glxint.h"
> #include "sis_dri.h"
> -#endif /* XF86DRI */
> +#endif /* SISDRI */
> 
> /* Configurable stuff: ------------------------------------- */
> 
> @@ -812,7 +818,7 @@ typedef struct {
>     ScrnInfoPtr        pScrn_2;
>     UChar        *BIOS;
>     struct SiS_Private    *SiS_Pr;
> -#ifdef XF86DRI
> +#ifdef SISDRI
>     SISAGPHTYPE        agpHandle;
>     ULong        agpAddr;
>     UChar        *agpBase;
> @@ -1092,7 +1098,7 @@ typedef struct {
>     unsigned int    cmdQueueSize_div2;
>     unsigned int    cmdQueueSize_div4;
>     unsigned int    cmdQueueSize_4_3;
> -#ifdef XF86DRI
> +#ifdef SISDRI
>     SISAGPHTYPE        agpHandle;
>     ULong        agpAddr;
>     UChar        *agpBase;
> @@ -1151,7 +1157,7 @@ typedef struct {
> 
>     /* DRI */
>     Bool        loadDRI;
> -#ifdef XF86DRI
> +#ifdef SISDRI
>     Bool        directRenderingEnabled;
>     DRIInfoPtr        pDRIInfo;
>     int            drmSubFD;
> diff --git a/src/sis_dri.c b/src/sis_dri.c
> index 97ed951..d0c4fba 100644
> --- a/src/sis_dri.c
> +++ b/src/sis_dri.c
> @@ -369,7 +369,7 @@ SISDRIScreenInit(ScreenPtr pScreen)
>    */
>   pDRIInfo->SAREASize =
>     ((sizeof(XF86DRISAREARec) + getpagesize() - 1) & getpagesize()); /* round to page */
> -    /* ((sizeof(XF86DRISAREARec) + 0xfff) & 0x1000); */ /* round to page */
> +    /* ((sizeof(SISDRISAREARec) + 0xfff) & 0x1000); */ /* round to page */
>   /* + shared memory device private rec */
> #else
>   /* For now the mapping works by using a fixed size defined
> diff --git a/src/sis_driver.c b/src/sis_driver.c
> index 3218239..d733f48 100644
> --- a/src/sis_driver.c
> +++ b/src/sis_driver.c
> @@ -90,7 +90,7 @@
> #endif
> 
> 
> -#ifdef XF86DRI
> +#ifdef SISDRI
> #include "dri.h"
> #endif
> 
> @@ -6895,7 +6895,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
>     }
> 
>     /* Load the dri and glx modules if requested. */
> -#ifdef XF86DRI
> +#ifdef SISDRI
>     if(pSiS->loadDRI) {
>        if(!xf86LoaderCheckSymbol("DRIScreenInit")) {
>      if(xf86LoadSubModule(pScrn, "dri")) {
> @@ -8731,7 +8731,7 @@ SISScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
> 
>     pSiS->cmdQueueLen = 0; /* Force an EngineIdle() at start */
> 
> -#ifdef XF86DRI
> +#ifdef SISDRI
>     if(pSiS->loadDRI) {
> #ifdef SISDUALHEAD
>        /* No DRI in dual head mode */
> @@ -9044,7 +9044,7 @@ SISScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
>     }
> #endif
> 
> -#ifdef XF86DRI
> +#ifdef SISDRI
>     if(pSiS->loadDRI) {
>        if(pSiS->directRenderingEnabled) {
>           /* Now that mi, drm and others have done their thing,
> @@ -9778,7 +9778,7 @@ SISEnterVT(int scrnIndex, int flags)
> 
>     SISAdjustFrame(scrnIndex, pScrn->frameX0, pScrn->frameY0, 0);
> 
> -#ifdef XF86DRI
> +#ifdef SISDRI
>     if(pSiS->directRenderingEnabled) {
>        DRIUnlock(screenInfo.screens[scrnIndex]);
>     }
> @@ -9804,7 +9804,7 @@ SISLeaveVT(int scrnIndex, int flags)
> {
>     ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
>     SISPtr pSiS = SISPTR(pScrn);
> -#ifdef XF86DRI
> +#ifdef SISDRI
>     ScreenPtr pScreen;
> 
>     if(pSiS->directRenderingEnabled) {
> @@ -9888,7 +9888,7 @@ SISCloseScreen(int scrnIndex, ScreenPtr pScreen)
>        SiSCtrlExtUnregister(pSiS, pScrn->scrnIndex);
>     }
> 
> -#ifdef XF86DRI
> +#ifdef SISDRI
>     if(pSiS->directRenderingEnabled) {
>        SISDRICloseScreen(pScreen);
>        pSiS->directRenderingEnabled = FALSE;
> diff --git a/src/sis_opt.c b/src/sis_opt.c
> index d39ff6e..3fa12c9 100644
> --- a/src/sis_opt.c
> +++ b/src/sis_opt.c
> @@ -480,7 +480,7 @@ SiSOptions(ScrnInfoPtr pScrn)
> #endif
>     pSiS->ShadowFB = FALSE;
>     pSiS->loadDRI = FALSE;
> -#ifdef XF86DRI
> +#ifdef SISDRI
>     pSiS->agpWantedPages = AGP_PAGES;
> #endif
>     pSiS->VESA = -1;
> @@ -2034,7 +2034,7 @@ SiSOptions(ScrnInfoPtr pScrn)
>        }
>     }
> 
> -#ifdef XF86DRI
> +#ifdef SISDRI
>     /* DRI */
>     from = X_DEFAULT;
>     if(xf86GetOptValBool(pSiS->Options, OPTION_DRI, &pSiS->loadDRI)) {
> -- 
> 1.7.7.4
> 
> Cheers,
>  Peter
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel
> 


More information about the xorg-devel mailing list