Move Xv and XvMC from extmod to built-in
Always build these extensions into the core server, rather than letting them languish in extmod. Signed-off-by: Tomas Carnecky <tom@dbservice.com> Reviewed-by: Daniel Stone <daniel@fooishbar.org> Reviewed-by: Jamey Sharp <jamey@minilop.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
parent
7d859bd878
commit
7a11b817e7
|
@ -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
|
||||
|
|
|
@ -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,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 */
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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))
|
||||
|
||||
|
|
|
@ -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))
|
||||
|
||||
|
|
|
@ -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_ */
|
||||
|
|
|
@ -43,8 +43,6 @@
|
|||
#include "xf86xvpriv.h"
|
||||
#include "xf86xvmc.h"
|
||||
|
||||
XvMCScreenInitProcPtr XvMCScreenInitProc = NULL;
|
||||
|
||||
typedef struct {
|
||||
CloseScreenProcPtr CloseScreen;
|
||||
int num_adaptors;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 = {
|
||||
|
|
|
@ -1,22 +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;
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
|
||||
#ifdef HAVE_DIX_CONFIG_H
|
||||
#include <dix-config.h>
|
||||
#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 */
|
|
@ -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
|
||||
|
|
|
@ -175,13 +175,14 @@ extern Bool noPseudoramiXExtension;
|
|||
extern void PseudoramiXExtensionInit(void);
|
||||
#endif
|
||||
|
||||
#if defined(XV) && !defined(XorgLoader)
|
||||
#if defined(XV)
|
||||
#include <X11/extensions/Xv.h>
|
||||
#include <X11/extensions/XvMC.h>
|
||||
extern Bool noXvExtension;
|
||||
extern void XvExtensionInit(void);
|
||||
extern void XvMCExtensionInit(void);
|
||||
extern void XvRegister(void);
|
||||
extern void XvMCRegister(void);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue
Block a user