diff --git a/Xext/Makefile.am b/Xext/Makefile.am index 5837be076..98e9917d9 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 fdf33d384..fc8eb0f35 100644 --- a/Xext/xvdix.h +++ b/Xext/xvdix.h @@ -55,7 +55,6 @@ SOFTWARE. #include "scrnintstr.h" #include -#ifndef XorgLoader extern _X_EXPORT unsigned long XvExtensionGeneration; extern _X_EXPORT unsigned long XvScreenGeneration; extern _X_EXPORT unsigned long XvResourceGeneration; @@ -70,7 +69,10 @@ 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 { int numerator; @@ -231,7 +233,6 @@ typedef struct { #define _XvBadPort (XvBadPort+XvErrorBase) #define _XvBadEncoding (XvBadEncoding+XvErrorBase) -#ifndef XorgLoader extern _X_EXPORT int ProcXvDispatch(ClientPtr); extern _X_EXPORT int SProcXvDispatch(ClientPtr); @@ -267,6 +268,4 @@ 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); -#endif /* XorgLoader */ - #endif /* XVDIX_H */ diff --git a/Xext/xvmain.c b/Xext/xvmain.c index c2860b86a..77c4156de 100644 --- a/Xext/xvmain.c +++ b/Xext/xvmain.c @@ -194,6 +194,18 @@ XvExtensionInit(void) } } +DevPrivateKey (*XvGetScreenKeyProc)(void) = NULL; +unsigned long (*XvGetRTPortProc)(void) = NULL; +int (*XvScreenInitProc)(ScreenPtr) = NULL; + +void +XvRegister(void) +{ + XvScreenInitProc = XvScreenInit; + XvGetScreenKeyProc = XvGetScreenKey; + XvGetRTPortProc = XvGetRTPort; +} + static Bool CreateResourceTypes(void) { diff --git a/Xext/xvmc.c b/Xext/xvmc.c index 808691caf..910adf48b 100644 --- a/Xext/xvmc.c +++ b/Xext/xvmc.c @@ -46,6 +46,8 @@ static RESTYPE XvMCRTContext; static RESTYPE XvMCRTSurface; static RESTYPE XvMCRTSubpicture; +int (*XvMCScreenInitProc)(ScreenPtr, int, XvMCAdaptorPtr) = NULL; + typedef struct { int num_adaptors; XvMCAdaptorPtr adaptors; @@ -762,6 +764,12 @@ XvMCScreenInit(ScreenPtr pScreen, int num, XvMCAdaptorPtr pAdapt) return Success; } +void +XvMCRegister(void) +{ + XvMCScreenInitProc = XvMCScreenInit; +} + XvImagePtr XvMCFindXvImage(XvPortPtr pPort, CARD32 id) { diff --git a/Xext/xvmcext.h b/Xext/xvmcext.h index d78171d24..2201d7b5b 100644 --- a/Xext/xvmcext.h +++ b/Xext/xvmcext.h @@ -84,7 +84,8 @@ typedef struct { XvMCDestroySubpictureProcPtr DestroySubpicture; } XvMCAdaptorRec, *XvMCAdaptorPtr; -#ifndef XorgLoader +extern int (*XvMCScreenInitProc)(ScreenPtr, int, XvMCAdaptorPtr); + extern _X_EXPORT int XvMCScreenInit(ScreenPtr pScreen, int num, XvMCAdaptorPtr adapt); @@ -93,6 +94,5 @@ 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 b02dd88f2..b7afb2efb 100644 --- a/hw/kdrive/src/kxv.c +++ b/hw/kdrive/src/kxv.c @@ -107,10 +107,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 1a964d270..0e50f378f 100644 --- a/hw/xfree86/common/xf86xv.c +++ b/hw/xfree86/common/xf86xv.c @@ -117,10 +117,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 2db00a83f..091efcaa9 100644 --- a/hw/xfree86/common/xf86xv.h +++ b/hw/xfree86/common/xf86xv.h @@ -263,8 +263,4 @@ extern _X_EXPORT void xf86XVCopyPacked(const void *src, void *dst, int srcPitch, int dstPitch, int h, 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 2e529dd92..dc6b3956a 100644 --- a/hw/xfree86/common/xf86xvmc.c +++ b/hw/xfree86/common/xf86xvmc.c @@ -43,8 +43,6 @@ #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 cdbd82e8c..8436cb3bc 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 @@ -24,6 +20,5 @@ INCLUDES = @XORG_INCS@ \ libextmod_la_LDFLAGS = -module -avoid-version $(LD_NO_UNDEFINED_FLAG) libextmod_la_SOURCES = modinit.c \ $(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 3c6933293..f8832fd1c 100644 --- a/hw/xfree86/dixmods/extmod/modinit.c +++ b/hw/xfree86/dixmods/extmod/modinit.c @@ -63,20 +63,6 @@ static ExtensionModule extensionModules[] = { XFree86DGARegister, NULL}, #endif -#ifdef XV - { - XvExtensionInit, - XvName, - &noXvExtension, - XvRegister, - NULL}, - { - XvMCExtensionInit, - XvMCName, - &noXvExtension, - NULL, - NULL}, -#endif }; static XF86ModuleVersionInfo VersRec = { diff --git a/hw/xfree86/dixmods/extmod/xvmod.c b/hw/xfree86/dixmods/extmod/xvmod.c deleted file mode 100644 index 97616c705..000000000 --- a/hw/xfree86/dixmods/extmod/xvmod.c +++ /dev/null @@ -1,22 +0,0 @@ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include -#include "misc.h" -#include "scrnintstr.h" -#include "gc.h" -#include -#include -#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 009054760..000000000 --- a/hw/xfree86/dixmods/extmod/xvmodproc.h +++ /dev/null @@ -1,17 +0,0 @@ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#ifndef XVMODPROC_H -#define XVMODPROC_H -#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); - -#endif /* XVMODPROC_H */ diff --git a/hw/xfree86/sdksyms.sh b/hw/xfree86/sdksyms.sh index ab48fcf00..6d8a4d3a9 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" #ifdef MITSHM diff --git a/include/extinit.h b/include/extinit.h index 589db1fd8..a8c253914 100644 --- a/include/extinit.h +++ b/include/extinit.h @@ -175,13 +175,14 @@ extern Bool noPseudoramiXExtension; extern void PseudoramiXExtensionInit(void); #endif -#if defined(XV) && !defined(XorgLoader) +#if defined(XV) #include #include extern Bool noXvExtension; extern void XvExtensionInit(void); extern void XvMCExtensionInit(void); extern void XvRegister(void); +extern void XvMCRegister(void); #endif #endif diff --git a/mi/miinitext.c b/mi/miinitext.c index 53e5dda5e..a83df609d 100644 --- a/mi/miinitext.c +++ b/mi/miinitext.c @@ -412,6 +412,10 @@ static ExtensionModule staticExtensions[] = { #ifdef RES {ResExtensionInit, XRES_NAME, &noResExtension, NULL}, #endif +#ifdef XV + {XvExtensionInit, XvName, &noXvExtension, XvRegister}, + {XvMCExtensionInit, XvMCName, &noXvExtension, XvMCRegister}, +#endif }; /*ARGSUSED*/ void