[PATCH 21/37] Move DRI1 from external module to built-in
Jamey Sharp
jamey at minilop.net
Thu Jun 30 14:23:50 PDT 2011
You've left the definition of DRIDRMServerInfo but dropped the
drmSetServerInfo call that uses it. I don't know what that does, but it
doesn't seem right.
Jamey
On Tue, Jun 28, 2011 at 08:27:37PM +0100, Daniel Stone wrote:
> Rather than building the tiny amount of code required for XFree86-DRI as
> an external module, build it in if it's enabled at configure time.
>
> Signed-off-by: Daniel Stone <daniel at fooishbar.org>
> ---
> configure.ac | 2 +-
> hw/xfree86/Makefile.am | 2 +
> hw/xfree86/common/xf86Config.c | 3 -
> hw/xfree86/common/xf86Extensions.c | 13 +++++
> hw/xfree86/dri/Makefile.am | 5 +--
> hw/xfree86/dri/drimodule.c | 93 ------------------------------------
> hw/xfree86/loader/Makefile.am | 4 +-
> hw/xfree86/loader/loadmod.c | 1 +
> hw/xfree86/sdksyms.sh | 2 -
> 9 files changed, 20 insertions(+), 105 deletions(-)
> delete mode 100644 hw/xfree86/dri/drimodule.c
>
> diff --git a/configure.ac b/configure.ac
> index a4e2ea1..33dfb2b 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -1569,7 +1569,7 @@ if test "x$XORG" = xyes; then
> AC_CHECK_FUNCS([pci_device_vgaarb_init])
> LIBS=$SAVE_LIBS
> CFLAGS=$SAVE_CFLAGS
> - XORG_SYS_LIBS="$XORG_SYS_LIBS $PCIACCESS_LIBS $GLX_SYS_LIBS"
> + XORG_SYS_LIBS="$XORG_SYS_LIBS $PCIACCESS_LIBS $GLX_SYS_LIBS $LIBDRM_LIBS"
> XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS"
>
> case $host_os in
> diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am
> index e3ef14f..71b2b9e 100644
> --- a/hw/xfree86/Makefile.am
> +++ b/hw/xfree86/Makefile.am
> @@ -1,6 +1,7 @@
>
> if DRI
> DRI_SUBDIR = dri
> +DRI_LIB = dri/libdri.la
> endif
>
> if DRI2
> @@ -58,6 +59,7 @@ LOCAL_LIBS = \
> i2c/libi2c.la \
> dixmods/libxorgxkb.la \
> $(XORG_LIBS) \
> + $(DRI_LIB) \
> $(top_builddir)/mi/libmi.la \
> $(top_builddir)/os/libos.la
> Xorg_LDADD = \
> diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c
> index da1a39b..6ccbf58 100644
> --- a/hw/xfree86/common/xf86Config.c
> +++ b/hw/xfree86/common/xf86Config.c
> @@ -112,9 +112,6 @@ static ModuleDefault ModuleDefaults[] = {
> #ifdef GLXEXT
> {.name = "glx", .toLoad = TRUE, .load_opt=NULL},
> #endif
> -#ifdef XF86DRI
> - {.name = "dri", .toLoad = TRUE, .load_opt=NULL},
> -#endif
> #ifdef DRI2
> {.name = "dri2", .toLoad = TRUE, .load_opt=NULL},
> #endif
> diff --git a/hw/xfree86/common/xf86Extensions.c b/hw/xfree86/common/xf86Extensions.c
> index 5d11e61..0f43c6b 100644
> --- a/hw/xfree86/common/xf86Extensions.c
> +++ b/hw/xfree86/common/xf86Extensions.c
> @@ -40,6 +40,10 @@
> #include "vidmodeproc.h"
> #endif
>
> +#ifdef XF86DRI
> +extern void XFree86DRIExtensionInit(void);
> +#endif
> +
> /*
> * DDX-specific extensions.
> */
> @@ -62,6 +66,15 @@ static ExtensionModule extensionModules[] = {
> NULL
> },
> #endif
> +#ifdef XF86DRI
> + {
> + XFree86DRIExtensionInit,
> + "XFree86-DRI",
> + &noXFree86DRIExtension,
> + NULL,
> + NULL
> + },
> +#endif
> };
>
> void
> diff --git a/hw/xfree86/dri/Makefile.am b/hw/xfree86/dri/Makefile.am
> index a7b491c..d611f66 100644
> --- a/hw/xfree86/dri/Makefile.am
> +++ b/hw/xfree86/dri/Makefile.am
> @@ -1,4 +1,4 @@
> -libdri_la_LTLIBRARIES = libdri.la
> +noinst_LTLIBRARIES = libdri.la
> libdri_la_CFLAGS = -I$(top_srcdir)/hw/xfree86/common \
> -I$(top_srcdir)/hw/xfree86/os-support \
> -I$(top_srcdir)/hw/xfree86/modes \
> @@ -12,12 +12,9 @@ libdri_la_CFLAGS = -I$(top_srcdir)/hw/xfree86/common \
> @DIX_CFLAGS@ @XORG_CFLAGS@ @DRIPROTO_CFLAGS@ \
> @LIBDRM_CFLAGS@ \
> @DRI_CFLAGS@
> -libdri_la_LDFLAGS = -module -avoid-version @LIBDRM_LIBS@
> -libdri_ladir = $(moduledir)/extensions
> libdri_la_SOURCES = \
> dri.c \
> dri.h \
> - drimodule.c \
> dristruct.h \
> sarea.h \
> xf86dri.c
> diff --git a/hw/xfree86/dri/drimodule.c b/hw/xfree86/dri/drimodule.c
> deleted file mode 100644
> index 40e3aca..0000000
> --- a/hw/xfree86/dri/drimodule.c
> +++ /dev/null
> @@ -1,93 +0,0 @@
> -/**************************************************************************
> -
> -Copyright 1999 Precision Insight, Inc., Cedar Park, Texas.
> -All Rights Reserved.
> -
> -Permission is hereby granted, free of charge, to any person obtaining a
> -copy of this software and associated documentation files (the
> -"Software"), to deal in the Software without restriction, including
> -without limitation the rights to use, copy, modify, merge, publish,
> -distribute, sub license, and/or sell copies of the Software, and to
> -permit persons to whom the Software is furnished to do so, subject to
> -the following conditions:
> -
> -The above copyright notice and this permission notice (including the
> -next paragraph) shall be included in all copies or substantial portions
> -of the Software.
> -
> -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
> -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
> -IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
> -ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
> -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
> -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
> -
> -**************************************************************************/
> -
> -/*
> - * Authors:
> - * Kevin E. Martin <kevin at precisioninsight.com>
> - * Rickard E. Faith <faith at precisioninsight.com>
> - *
> - */
> -
> -#ifdef HAVE_XORG_CONFIG_H
> -#include <xorg-config.h>
> -#endif
> -
> -#include "xf86Module.h"
> -#include "globals.h"
> -
> -#include "xf86drm.h"
> -static MODULESETUPPROTO(driSetup);
> -
> -drmServerInfo DRIDRMServerInfo;
> -
> -static XF86ModuleVersionInfo VersRec =
> -{
> - "dri",
> - MODULEVENDORSTRING,
> - MODINFOSTRING1,
> - MODINFOSTRING2,
> - XORG_VERSION_CURRENT,
> - 1, 0, 0,
> - ABI_CLASS_EXTENSION,
> - ABI_EXTENSION_VERSION,
> - MOD_CLASS_NONE,
> - {0,0,0,0}
> -};
> -
> -extern void XFree86DRIExtensionInit(void);
> -#define _XF86DRI_SERVER_
> -#include <X11/dri/xf86driproto.h>
> -
> -static ExtensionModule XF86DRIExt =
> -{
> - XFree86DRIExtensionInit,
> - XF86DRINAME,
> - &noXFree86DRIExtension,
> - NULL,
> - NULL
> -};
> -
> -_X_EXPORT XF86ModuleData driModuleData = { &VersRec, driSetup, NULL };
> -
> -static pointer
> -driSetup(pointer module, pointer opts, int *errmaj, int *errmin)
> -{
> - static Bool setupDone = FALSE;
> -
> - if (!setupDone) {
> - setupDone = TRUE;
> - LoadExtension(&XF86DRIExt, FALSE);
> - } else {
> - if (errmaj) *errmaj = LDR_ONCEONLY;
> - }
> -
> - drmSetServerInfo(&DRIDRMServerInfo);
> -
> - /* Need a non-NULL return value to indicate success */
> - return (pointer)1;
> -}
> -
> diff --git a/hw/xfree86/loader/Makefile.am b/hw/xfree86/loader/Makefile.am
> index ebe0c81..df1020b 100644
> --- a/hw/xfree86/loader/Makefile.am
> +++ b/hw/xfree86/loader/Makefile.am
> @@ -2,10 +2,10 @@ noinst_LTLIBRARIES = libloader.la
>
> INCLUDES = $(XORG_INCS) -I$(srcdir)/../parser -I$(top_srcdir)/miext/cw \
> -I$(srcdir)/../ddc -I$(srcdir)/../i2c -I$(srcdir)/../modes \
> - -I$(srcdir)/../ramdac
> + -I$(srcdir)/../ramdac -I$(srcdir)/../dri
>
> #AM_LDFLAGS = -r
> -AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS)
> +AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) @DRIPROTO_CFLAGS@ @LIBDRM_CFLAGS@
>
> EXTRA_DIST = \
> loader.h \
> diff --git a/hw/xfree86/loader/loadmod.c b/hw/xfree86/loader/loadmod.c
> index a7d0097..dbc2dd2 100644
> --- a/hw/xfree86/loader/loadmod.c
> +++ b/hw/xfree86/loader/loadmod.c
> @@ -818,6 +818,7 @@ static const char *compiled_in_modules[] = {
> "dbe",
> "record",
> "extmod",
> + "dri",
> NULL
> };
>
> diff --git a/hw/xfree86/sdksyms.sh b/hw/xfree86/sdksyms.sh
> index 01fdeb7..0d6e98f 100755
> --- a/hw/xfree86/sdksyms.sh
> +++ b/hw/xfree86/sdksyms.sh
> @@ -198,13 +198,11 @@ cat > sdksyms.c << EOF
>
>
> /* hw/xfree86/dri/Makefile.am -- module */
> -/*
> #if XF86DRI
> # include "dri.h"
> # include "sarea.h"
> # include "dristruct.h"
> #endif
> - */
>
>
> /* mi/Makefile.am */
> --
> 1.7.5.4
>
> _______________________________________________
> 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.x.org/archives/xorg-devel/attachments/20110630/1b96dfe1/attachment.pgp>
More information about the xorg-devel
mailing list