From patchwork Wed Oct 28 12:46:40 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?b?UsODwqltaSBDYXJkb25h?= X-Patchwork-Id: 56279 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id n9SClcko006023 for ; Wed, 28 Oct 2009 12:47:38 GMT Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 280FB9F4D4; Wed, 28 Oct 2009 05:47:37 -0700 (PDT) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from smtp2-g21.free.fr (smtp2-g21.free.fr [212.27.42.2]) by gabe.freedesktop.org (Postfix) with ESMTP id BD7C69F3AC for ; Wed, 28 Oct 2009 05:47:29 -0700 (PDT) Received: from smtp2-g21.free.fr (localhost [127.0.0.1]) by smtp2-g21.free.fr (Postfix) with ESMTP id 52FE84B01BD for ; Wed, 28 Oct 2009 13:47:25 +0100 (CET) Received: from localhost.localdomain (bne75-10-88-178-16-229.fbx.proxad.net [88.178.16.229]) by smtp2-g21.free.fr (Postfix) with ESMTP id 1371E4B00B0 for ; Wed, 28 Oct 2009 13:47:23 +0100 (CET) From: =?UTF-8?q?R=C3=A9mi=20Cardona?= To: intel-gfx@lists.freedesktop.org Date: Wed, 28 Oct 2009 13:46:40 +0100 Message-Id: <46decbbd49a73e45e7457c2feae0fd916b25f9be.1256733444.git.remi@gentoo.org> X-Mailer: git-send-email 1.6.5.1 In-Reply-To: <9d0cc6c09f29f4e322158ddb4a8f2acf82eb34b3.1256733443.git.remi@gentoo.org> References: <38038bcbf1aea0c4f25fa5bd3187ee1d98c41be7.1256733443.git.remi@gentoo.org> <9d0cc6c09f29f4e322158ddb4a8f2acf82eb34b3.1256733443.git.remi@gentoo.org> In-Reply-To: References: MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH 3/5] configure: make --disable-dri work even if the server supports DRI X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.9 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces@lists.freedesktop.org Errors-To: intel-gfx-bounces@lists.freedesktop.org diff --git a/configure.ac b/configure.ac index 9978958..4b97abb 100644 --- a/configure.ac +++ b/configure.ac @@ -87,7 +87,7 @@ AC_ARG_ENABLE(kms-only, AC_HELP_STRING([--enable-kms-only], XORG_DRIVER_CHECK_EXT(XINERAMA, xineramaproto) XORG_DRIVER_CHECK_EXT(RANDR, randrproto) XORG_DRIVER_CHECK_EXT(RENDER, renderproto) -XORG_DRIVER_CHECK_EXT(XF86DRI, xextproto x11) +XORG_DRIVER_CHECK_EXT(XF86DRI, xextproto x11 xf86driproto glproto) XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto) # Checks for pkg-config packages @@ -101,30 +101,15 @@ AM_CONDITIONAL(HAVE_XEXTPROTO_71, [ test "$HAVE_XEXTPROTO_71" = "yes" ]) sdkdir=$(pkg-config --variable=sdkdir xorg-server) -save_CFLAGS="$CFLAGS" -CFLAGS="$XORG_CFLAGS $DRI_CFLAGS $DRM_CFLAGS" -CPPFLAGS="$XORG_CFLAGS $DRI_CFLAGS $DRM_CFLAGS" -AC_MSG_CHECKING([whether to include DRI support]) if test x$DRI != xno; then - AC_CHECK_FILE([${sdkdir}/dri.h], - [have_dri_h="yes"], [have_dri_h="no"]) - AC_CHECK_FILE([${sdkdir}/sarea.h], - [have_sarea_h="yes"], [have_sarea_h="no"]) - AC_CHECK_FILE([${sdkdir}/dristruct.h], - [have_dristruct_h="yes"], [have_dristruct_h="no"]) + AC_CHECK_FILES([${sdkdir}/dri.h ${sdkdir}/sarea.h ${sdkdir}/dristruct.h], + [DRI="yes" + AC_DEFINE(HAVE_DRI,1,[Enable DRI driver support])], + [DRI="no"]) fi +AM_CONDITIONAL(DRI, test x$DRI = xyes) AC_MSG_CHECKING([whether to include DRI support]) -if test x$DRI = xauto; then - if test "$have_dri_h" = yes -a \ - "$have_sarea_h" = yes -a \ - "$have_dristruct_h" = yes; then - DRI="yes" - else - DRI="no" - fi -fi AC_MSG_RESULT([$DRI]) -CFLAGS="$save_CFLAGS $DEBUGFLAGS" dnl Use lots of warning flags with GCC @@ -136,13 +121,6 @@ if test "x$GCC" = "xyes"; then -Wnested-externs -fno-strict-aliasing" fi -AM_CONDITIONAL(DRI, test x$DRI = xyes) -if test "$DRI" = yes; then - PKG_CHECK_MODULES(DRI, [xf86driproto glproto]) - AC_DEFINE(XF86DRI,1,[Enable DRI driver support]) - AC_DEFINE(XF86DRI_DEVEL,1,[Enable developmental DRI driver support]) -fi - AM_CONDITIONAL(VIDEO_DEBUG, test x$VIDEO_DEBUG = xyes) if test "$VIDEO_DEBUG" = yes; then AC_DEFINE(VIDEO_DEBUG,1,[Enable debug support]) @@ -166,7 +144,6 @@ if test "$KMS_ONLY" = yes; then AC_DEFINE(KMS_ONLY,1,[Assume KMS support]) fi -AC_SUBST([DRI_CFLAGS]) AC_SUBST([XORG_CFLAGS]) AC_SUBST([WARN_CFLAGS]) AC_SUBST([moduledir]) diff --git a/src/Makefile.am b/src/Makefile.am index 3b6e64d..5ffb522 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -26,7 +26,7 @@ SUBDIRS = xvmc bios_reader reg_dumper render_program # _ladir passes a dummy rpath to libtool so the thing will actually link # TODO: -nostdlib/-Bstatic/-lgcc platform magic, not installing the .a, etc. -AM_CFLAGS = @WARN_CFLAGS@ @XORG_CFLAGS@ @DRM_CFLAGS@ @DRI_CFLAGS@ \ +AM_CFLAGS = @WARN_CFLAGS@ @XORG_CFLAGS@ @DRM_CFLAGS@ \ @PCIACCESS_CFLAGS@ -I$(top_srcdir)/uxa -I$(top_srcdir)/src/render_program intel_drv_la_LTLIBRARIES = intel_drv.la @@ -99,8 +99,6 @@ EXTRA_DIST = \ if DRI intel_drv_la_SOURCES += \ $(INTEL_DRI_SRCS) -intel_drv_la_LIBADD += \ - $(DRI_LIBS) endif if XVMC diff --git a/src/i810.h b/src/i810.h index 93b8b76..db36882 100644 --- a/src/i810.h +++ b/src/i810.h @@ -52,7 +52,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include "xorg-server.h" #include -#ifdef XF86DRI +#ifdef HAVE_DRI #include "xf86drm.h" #include "sarea.h" #define _XF86DRI_SERVER_ @@ -229,9 +229,9 @@ typedef struct _I810Rec { I810ReadByteFunc readStandard; Bool directRenderingDisabled; /* DRI disabled in PreInit */ - Bool directRenderingEnabled; /* false if XF86DRI not defined. */ + Bool directRenderingEnabled; /* false if HAVE_DRI not defined. */ -#ifdef XF86DRI +#ifdef HAVE_DRI int LockHeld; DRIInfoPtr pDRIInfo; int drmSubFD; @@ -272,7 +272,7 @@ typedef struct _I810Rec { #define I810_SELECT_BACK 1 #define I810_SELECT_DEPTH 2 -#ifdef XF86DRI +#ifdef HAVE_DRI extern Bool I810DRIScreenInit(ScreenPtr pScreen); extern void I810DRICloseScreen(ScreenPtr pScreen); extern Bool I810DRIFinishScreenInit(ScreenPtr pScreen); diff --git a/src/i810_accel.c b/src/i810_accel.c index ae4a654..9484265 100644 --- a/src/i810_accel.c +++ b/src/i810_accel.c @@ -213,7 +213,7 @@ I810WaitLpRing(ScrnInfoPtr pScrn, int n, int timeout_millis) start); I810PrintErrorState(pScrn); ErrorF("space: %d wanted %d\n", ring->space, n); -#ifdef XF86DRI +#ifdef HAVE_DRI if (pI810->directRenderingEnabled) { DRIUnlock(screenInfo.screens[pScrn->scrnIndex]); DRICloseScreen(screenInfo.screens[pScrn->scrnIndex]); @@ -245,7 +245,7 @@ I810Sync(ScrnInfoPtr pScrn) if (I810_DEBUG & (DEBUG_VERBOSE_ACCEL | DEBUG_VERBOSE_SYNC)) ErrorF("I810Sync\n"); -#ifdef XF86DRI +#ifdef HAVE_DRI /* VT switching tries to do this. */ if (!pI810->LockHeld && pI810->directRenderingEnabled) { diff --git a/src/i810_driver.c b/src/i810_driver.c index 68e45bb..398244e 100644 --- a/src/i810_driver.c +++ b/src/i810_driver.c @@ -72,7 +72,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include "i810.h" #include "i830.h" -#ifdef XF86DRI +#ifdef HAVE_DRI #include "dri.h" #endif @@ -280,7 +280,7 @@ int I810_DEBUG = (0 #endif #ifndef I830_ONLY -#ifdef XF86DRI +#ifdef HAVE_DRI static int i810_pitches[] = { 512, 1024, @@ -651,7 +651,7 @@ I810PreInit(ScrnInfoPtr pScrn, int flags) } } -#ifdef XF86DRI +#ifdef HAVE_DRI pI810->directRenderingDisabled = !xf86ReturnOptValBool(pI810->Options, OPTION_DRI, TRUE); @@ -852,7 +852,7 @@ I810PreInit(ScrnInfoPtr pScrn, int flags) i = xf86ValidateModes(pScrn, pScrn->monitor->Modes, pScrn->display->modes, clockRanges, -#ifndef XF86DRI +#ifndef HAVE_DRI 0, 320, 1600, 64 * pScrn->bitsPerPixel, #else i810_pitches, 0, 0, 64 * pScrn->bitsPerPixel, @@ -908,7 +908,7 @@ I810PreInit(ScrnInfoPtr pScrn, int flags) pI810->allowPageFlip=FALSE; enable = xf86ReturnOptValBool(pI810->Options, OPTION_PAGEFLIP, FALSE); -#ifdef XF86DRI +#ifdef HAVE_DRI if (!pI810->directRenderingDisabled) { pI810->allowPageFlip = enable; if (pI810->allowPageFlip == TRUE) @@ -946,7 +946,7 @@ I810PreInit(ScrnInfoPtr pScrn, int flags) pI810->numSurfaces = 0; } -#ifdef XF86DRI +#ifdef HAVE_DRI /* Load the dri module if requested. */ if (xf86ReturnOptValBool(pI810->Options, OPTION_DRI, FALSE)) { xf86LoadSubModule(pScrn, "dri"); @@ -1662,7 +1662,7 @@ I810ModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode) if (!I810SetMode(pScrn, mode)) return FALSE; -#ifdef XF86DRI +#ifdef HAVE_DRI if (pI810->directRenderingEnabled) { DRILock(screenInfo.screens[pScrn->scrnIndex], 0); pI810->LockHeld = 1; @@ -1671,7 +1671,7 @@ I810ModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode) DoRestore(pScrn, &hwp->ModeReg, &pI810->ModeReg, FALSE); -#ifdef XF86DRI +#ifdef HAVE_DRI if (pI810->directRenderingEnabled) { DRIUnlock(screenInfo.screens[pScrn->scrnIndex]); pI810->LockHeld = 0; @@ -1943,7 +1943,7 @@ I810ScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) * memory. Wonder if this is going to be a problem... */ -#ifdef XF86DRI +#ifdef HAVE_DRI /* * Setup DRI after visuals have been established, but before fbScreenInit * is called. fbScreenInit will eventually call into the drivers @@ -2011,7 +2011,7 @@ I810ScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) xf86SetBlackWhitePixels(pScreen); -#ifdef XF86DRI +#ifdef HAVE_DRI if (pI810->LpRing->mem.Start == 0 && pI810->directRenderingEnabled) { pI810->directRenderingEnabled = FALSE; driFrom = X_PROBED; @@ -2089,7 +2089,7 @@ I810ScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) I810InitVideo(pScreen); -#ifdef XF86DRI +#ifdef HAVE_DRI if (pI810->directRenderingEnabled) { /* Now that mi, fb, drm and others have done their thing, * complete the DRI setup. @@ -2139,7 +2139,7 @@ I810SwitchMode(int scrnIndex, DisplayModePtr mode, int flags) * If lockups on mode switch are still seen revisit this code. (EE) */ -# ifdef XF86DRI +# ifdef HAVE_DRI if (pI810->directRenderingEnabled) { if (I810_DEBUG & DEBUG_VERBOSE_DRI) ErrorF("calling dri lock\n"); @@ -2154,7 +2154,7 @@ I810SwitchMode(int scrnIndex, DisplayModePtr mode, int flags) } I810Restore(pScrn); -# ifdef XF86DRI +# ifdef HAVE_DRI if (pI810->directRenderingEnabled) { if (!I810DRILeave(pScrn)) return FALSE; @@ -2228,7 +2228,7 @@ I810EnterVT(int scrnIndex, int flags) { ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; -#ifdef XF86DRI +#ifdef HAVE_DRI I810Ptr pI810 = I810PTR(pScrn); #endif @@ -2238,7 +2238,7 @@ I810EnterVT(int scrnIndex, int flags) if (!I810BindGARTMemory(pScrn)) { return FALSE; } -#ifdef XF86DRI +#ifdef HAVE_DRI if (!I810DRIEnter(pScrn)) { return FALSE; } @@ -2266,7 +2266,7 @@ I810LeaveVT(int scrnIndex, int flags) if (I810_DEBUG & DEBUG_VERBOSE_DRI) ErrorF("\n\n\nLeave VT\n"); -#ifdef XF86DRI +#ifdef HAVE_DRI if (pI810->directRenderingEnabled) { if (I810_DEBUG & DEBUG_VERBOSE_DRI) ErrorF("calling dri lock\n"); @@ -2284,7 +2284,7 @@ I810LeaveVT(int scrnIndex, int flags) if (!I810UnbindGARTMemory(pScrn)) return; -#ifdef XF86DRI +#ifdef HAVE_DRI if (!I810DRILeave(pScrn)) return; #endif @@ -2309,7 +2309,7 @@ I810CloseScreen(int scrnIndex, ScreenPtr pScreen) I810Restore(pScrn); vgaHWLock(hwp); } -#ifdef XF86DRI +#ifdef HAVE_DRI if (pI810->directRenderingEnabled) { I810DRICloseScreen(pScreen); pI810->directRenderingEnabled = FALSE; diff --git a/src/i830.h b/src/i830.h index 3143e5d..47f5526 100644 --- a/src/i830.h +++ b/src/i830.h @@ -61,10 +61,6 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include "xorg-server.h" #include -#include "xf86drm.h" -#include "sarea.h" -#define _XF86DRI_SERVER_ -#include "dri.h" #include "GL/glxint.h" #include "i830_dri.h" #include "intel_bufmgr.h"