summaryrefslogtreecommitdiff
path: root/Xext
diff options
context:
space:
mode:
authorTomas Carnecky <tom@dbservice.com>2012-07-10 02:03:06 +0100
committerKeith Packard <keithp@keithp.com>2012-07-09 23:28:37 -0700
commit7a11b817e770cd2196814f1ac6264c6d87b76c6a (patch)
tree0bb1790955241d88029503cc6ea920e6323b51c9 /Xext
parent7d859bd87834dd79c7fa3792075496ece698c082 (diff)
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>
Diffstat (limited to 'Xext')
-rw-r--r--Xext/Makefile.am2
-rw-r--r--Xext/xvdix.h9
-rw-r--r--Xext/xvmain.c12
-rw-r--r--Xext/xvmc.c8
-rw-r--r--Xext/xvmcext.h4
5 files changed, 27 insertions, 8 deletions
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 <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 */
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 */