From: Tomas Carnecky <[email protected]> Always build these extensions into the core server, rather than letting them languish in extmod.
Signed-off-by: Tomas Carnecky <[email protected]> Reviewed-by: Daniel Stone <[email protected]> --- Xext/Makefile.am | 2 +- Xext/xvdix.h | 9 +++++++-- Xext/xvmain.c | 15 +++++++++++++++ Xext/xvmcext.h | 5 +---- hw/kdrive/src/kxv.c | 4 ---- hw/xfree86/common/xf86xv.c | 5 ----- hw/xfree86/common/xf86xv.h | 4 ---- hw/xfree86/common/xf86xvmc.c | 5 ----- hw/xfree86/dixmods/extmod/Makefile.am | 7 +------ hw/xfree86/dixmods/extmod/modinit.c | 16 ---------------- hw/xfree86/dixmods/extmod/xvmod.c | 23 ----------------------- hw/xfree86/dixmods/extmod/xvmodproc.h | 13 ------------- hw/xfree86/sdksyms.sh | 4 +--- mi/miinitext.c | 9 +++++++++ 14 files changed, 35 insertions(+), 86 deletions(-) delete mode 100644 hw/xfree86/dixmods/extmod/xvmod.c delete mode 100644 hw/xfree86/dixmods/extmod/xvmodproc.h diff --git a/Xext/Makefile.am b/Xext/Makefile.am index 04e1b36..acbcc17 100644 --- a/Xext/Makefile.am +++ b/Xext/Makefile.am @@ -46,7 +46,7 @@ endif # XVideo extension XV_SRCS = xvmain.c xvdisp.c xvmc.c xvdix.h xvmcext.h xvdisp.h if XV -MODULE_SRCS += $(XV_SRCS) +BUILTIN_SRCS += $(XV_SRCS) endif # XResource extension: lets clients get data about per-client resource usage diff --git a/Xext/xvdix.h b/Xext/xvdix.h index e9c22bf..fc35935 100644 --- a/Xext/xvdix.h +++ b/Xext/xvdix.h @@ -55,7 +55,6 @@ SOFTWARE. #include "scrnintstr.h" #include <X11/extensions/Xvproto.h> -#ifndef XorgLoader extern _X_EXPORT unsigned long XvExtensionGeneration; extern _X_EXPORT unsigned long XvScreenGeneration; extern _X_EXPORT unsigned long XvResourceGeneration; @@ -70,7 +69,12 @@ extern _X_EXPORT RESTYPE XvRTGrab; extern _X_EXPORT RESTYPE XvRTVideoNotify; extern _X_EXPORT RESTYPE XvRTVideoNotifyList; extern _X_EXPORT RESTYPE XvRTPortNotify; -#endif + +extern DevPrivateKey (*XvGetScreenKeyProc)(void); +extern unsigned long (*XvGetRTPortProc)(void); +extern int (*XvScreenInitProc)(ScreenPtr); +typedef struct _XvMCAdaptor *XvMCAdaptorPtr; +extern int (*XvMCScreenInitProc)(ScreenPtr, int, XvMCAdaptorPtr); typedef struct { int numerator; @@ -269,6 +273,7 @@ extern _X_EXPORT int XvdiPreemptVideo(ClientPtr, XvPortPtr, DrawablePtr); extern _X_EXPORT int XvdiMatchPort(XvPortPtr, DrawablePtr); extern _X_EXPORT int XvdiGrabPort(ClientPtr, XvPortPtr, Time, int *); extern _X_EXPORT int XvdiUngrabPort( ClientPtr, XvPortPtr, Time); +extern void XvRegister(void); #endif /* XorgLoader */ #endif /* XVDIX_H */ diff --git a/Xext/xvmain.c b/Xext/xvmain.c index d21a56c..c86f911 100644 --- a/Xext/xvmain.c +++ b/Xext/xvmain.c @@ -199,6 +199,21 @@ XvExtensionInit(void) } } +DevPrivateKey (*XvGetScreenKeyProc)(void) = NULL; +unsigned long (*XvGetRTPortProc)(void) = NULL; +int (*XvScreenInitProc)(ScreenPtr) = NULL; +int (*XvMCScreenInitProc)(ScreenPtr, int, XvMCAdaptorPtr) = NULL; +extern int XvMCScreenInit(ScreenPtr, int, XvMCAdaptorPtr); + +void +XvRegister(void) +{ + XvScreenInitProc = XvScreenInit; + XvGetScreenKeyProc = XvGetScreenKey; + XvGetRTPortProc = XvGetRTPort; + XvMCScreenInitProc = XvMCScreenInit; +} + static Bool CreateResourceTypes(void) diff --git a/Xext/xvmcext.h b/Xext/xvmcext.h index 5b43126..b6c7749 100644 --- a/Xext/xvmcext.h +++ b/Xext/xvmcext.h @@ -87,7 +87,7 @@ typedef void (*XvMCDestroySubpictureProcPtr) ( ); -typedef struct { +typedef struct _XvMCAdaptor { XvAdaptorPtr xv_adaptor; int num_surfaces; XvMCSurfaceInfoPtr *surfaces; @@ -101,7 +101,6 @@ typedef struct { XvMCDestroySubpictureProcPtr DestroySubpicture; } XvMCAdaptorRec, *XvMCAdaptorPtr; -#ifndef XorgLoader extern _X_EXPORT void XvMCExtensionInit(void); extern _X_EXPORT int XvMCScreenInit(ScreenPtr pScreen, @@ -113,6 +112,4 @@ extern _X_EXPORT XvImagePtr XvMCFindXvImage(XvPortPtr pPort, CARD32 id); extern _X_EXPORT int xf86XvMCRegisterDRInfo(ScreenPtr pScreen, char *name, char *busID, int major, int minor, int patchLevel); -#endif - #endif /* _XVMC_H */ diff --git a/hw/kdrive/src/kxv.c b/hw/kdrive/src/kxv.c index 50dc235..5162ea1 100644 --- a/hw/kdrive/src/kxv.c +++ b/hw/kdrive/src/kxv.c @@ -109,10 +109,6 @@ static DevPrivateKey KdXvScreenKey; static unsigned long KdXVGeneration = 0; static unsigned long PortResource = 0; -DevPrivateKey (*XvGetScreenKeyProc)(void) = XvGetScreenKey; -unsigned long (*XvGetRTPortProc)(void) = XvGetRTPort; -int (*XvScreenInitProc)(ScreenPtr) = XvScreenInit; - #define GET_XV_SCREEN(pScreen) ((XvScreenPtr) \ dixLookupPrivate(&(pScreen)->devPrivates, KdXvScreenKey)) diff --git a/hw/xfree86/common/xf86xv.c b/hw/xfree86/common/xf86xv.c index b46dfef..50b6be5 100644 --- a/hw/xfree86/common/xf86xv.c +++ b/hw/xfree86/common/xf86xv.c @@ -52,7 +52,6 @@ #include <X11/extensions/Xv.h> #include <X11/extensions/Xvproto.h> #include "xvdix.h" -#include "xvmodproc.h" #include "xf86xvpriv.h" @@ -121,10 +120,6 @@ DevPrivateKey XF86XvScreenKey; static unsigned long PortResource = 0; -DevPrivateKey (*XvGetScreenKeyProc)(void) = NULL; -unsigned long (*XvGetRTPortProc)(void) = NULL; -int (*XvScreenInitProc)(ScreenPtr) = NULL; - #define GET_XV_SCREEN(pScreen) \ ((XvScreenPtr)dixLookupPrivate(&(pScreen)->devPrivates, XF86XvScreenKey)) diff --git a/hw/xfree86/common/xf86xv.h b/hw/xfree86/common/xf86xv.h index f0d8495..a8401ca 100644 --- a/hw/xfree86/common/xf86xv.h +++ b/hw/xfree86/common/xf86xv.h @@ -282,8 +282,4 @@ xf86XVCopyPacked( int w ); -extern _X_EXPORT DevPrivateKey (*XvGetScreenKeyProc)(void); -extern _X_EXPORT unsigned long (*XvGetRTPortProc)(void); -extern _X_EXPORT int (*XvScreenInitProc)(ScreenPtr); - #endif /* _XF86XV_H_ */ diff --git a/hw/xfree86/common/xf86xvmc.c b/hw/xfree86/common/xf86xvmc.c index e6464a5..da64d1e 100644 --- a/hw/xfree86/common/xf86xvmc.c +++ b/hw/xfree86/common/xf86xvmc.c @@ -40,14 +40,9 @@ #include "resource.h" #include "dixstruct.h" -#include "xvmodproc.h" - #include "xf86xvpriv.h" #include "xf86xvmc.h" -XvMCScreenInitProcPtr XvMCScreenInitProc = NULL; - - typedef struct { CloseScreenProcPtr CloseScreen; int num_adaptors; diff --git a/hw/xfree86/dixmods/extmod/Makefile.am b/hw/xfree86/dixmods/extmod/Makefile.am index cce19f7..7ef1e7e 100644 --- a/hw/xfree86/dixmods/extmod/Makefile.am +++ b/hw/xfree86/dixmods/extmod/Makefile.am @@ -7,10 +7,6 @@ if DGA DGA_SRCS = xf86dga2.c dgaproc.h endif -if XV -XV_SRCS = xvmod.c xvmodproc.h -endif - if XF86VIDMODE XF86VMODE_SRCS = xf86vmode.c endif @@ -25,6 +21,5 @@ libextmod_la_LDFLAGS = -avoid-version libextmod_la_SOURCES = modinit.c \ modinit.h \ $(DGA_SRCS) \ - $(XF86VMODE_SRCS) \ - $(XV_SRCS) + $(XF86VMODE_SRCS) libextmod_la_LIBADD = $(top_builddir)/Xext/libXextmodule.la diff --git a/hw/xfree86/dixmods/extmod/modinit.c b/hw/xfree86/dixmods/extmod/modinit.c index 9a3b811..3dfacf1 100644 --- a/hw/xfree86/dixmods/extmod/modinit.c +++ b/hw/xfree86/dixmods/extmod/modinit.c @@ -65,22 +65,6 @@ static ExtensionModule extensionModules[] = { NULL }, #endif -#ifdef XV - { - XvExtensionInit, - XvName, - &noXvExtension, - XvRegister, - NULL - }, - { - XvMCExtensionInit, - XvMCName, - &noXvExtension, - NULL, - NULL - }, -#endif { /* DON'T delete this entry ! */ NULL, NULL, diff --git a/hw/xfree86/dixmods/extmod/xvmod.c b/hw/xfree86/dixmods/extmod/xvmod.c deleted file mode 100644 index 9551046..0000000 --- a/hw/xfree86/dixmods/extmod/xvmod.c +++ /dev/null @@ -1,23 +0,0 @@ - -#ifdef HAVE_XORG_CONFIG_H -#include <xorg-config.h> -#endif - -#include <X11/X.h> -#include "misc.h" -#include "scrnintstr.h" -#include "gc.h" -#include <X11/extensions/Xv.h> -#include <X11/extensions/Xvproto.h> -#include "xvdix.h" -#include "xvmodproc.h" - -void -XvRegister(void) -{ - XvScreenInitProc = XvScreenInit; - XvGetScreenKeyProc = XvGetScreenKey; - XvGetRTPortProc = XvGetRTPort; - XvMCScreenInitProc = XvMCScreenInit; -} - diff --git a/hw/xfree86/dixmods/extmod/xvmodproc.h b/hw/xfree86/dixmods/extmod/xvmodproc.h deleted file mode 100644 index b39c915..0000000 --- a/hw/xfree86/dixmods/extmod/xvmodproc.h +++ /dev/null @@ -1,13 +0,0 @@ - -#ifdef HAVE_DIX_CONFIG_H -#include <dix-config.h> -#endif - -#include "xvmcext.h" - -extern DevPrivateKey (*XvGetScreenKeyProc)(void); -extern unsigned long (*XvGetRTPortProc)(void); -extern int (*XvScreenInitProc)(ScreenPtr); -extern int (*XvMCScreenInitProc)(ScreenPtr, int, XvMCAdaptorPtr); - -extern void XvRegister(void); diff --git a/hw/xfree86/sdksyms.sh b/hw/xfree86/sdksyms.sh index 882c486..2adf727 100755 --- a/hw/xfree86/sdksyms.sh +++ b/hw/xfree86/sdksyms.sh @@ -46,10 +46,8 @@ cat > sdksyms.c << EOF #include "misyncstr.h" /* Xext/Makefile.am -- half is module, half is builtin */ -/* #include "xvdix.h" #include "xvmcext.h" - */ #include "geext.h" #include "geint.h" #include "shmint.h" @@ -319,7 +317,7 @@ topdir=$1 shift LC_ALL=C export LC_ALL -${CPP:-cpp} "$@" -DXorgLoader sdksyms.c | ${AWK:-awk} -v topdir=$topdir ' +${CPP:-cpp} "$@" sdksyms.c | ${AWK:-awk} -v topdir=$topdir ' BEGIN { sdk = 0; print("/*"); diff --git a/mi/miinitext.c b/mi/miinitext.c index 4e76c8e..eb42303 100644 --- a/mi/miinitext.c +++ b/mi/miinitext.c @@ -189,6 +189,10 @@ typedef void (*InitExtension)(void); #ifdef DPMSExtension #include <X11/extensions/dpmsconst.h> #endif +#ifdef XV +#include <X11/extensions/Xv.h> +#include <X11/extensions/XvMC.h> +#endif /* FIXME: this whole block of externs should be from the appropriate headers */ #ifdef MITSHM @@ -211,6 +215,7 @@ extern void ScreenSaverExtensionInit (void); #ifdef XV extern void XvExtensionInit(void); extern void XvMCExtensionInit(void); +extern void XvRegister(void); #endif extern void SyncExtensionInit(void); extern void XkbExtensionInit(void); @@ -533,6 +538,10 @@ static ExtensionModule staticExtensions[] = { #ifdef RES { ResExtensionInit, XRES_NAME, &noResExtension, NULL }, #endif +#ifdef XV + { XvExtensionInit, XvName, &noXvExtension, XvRegister }, + { XvMCExtensionInit, XvMCName, &noXvExtension, NULL }, +#endif { NULL, NULL, NULL, NULL, NULL } }; -- 1.7.5.4 _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
