37 lines
1.3 KiB
Diff
Executable File
37 lines
1.3 KiB
Diff
Executable File
diff --git a/hw/xfree86/common/xf86xv.c b/hw/xfree86/common/xf86xv.c
|
|
index 92d0f6d..a33366a 100644
|
|
--- a/hw/xfree86/common/xf86xv.c
|
|
+++ b/hw/xfree86/common/xf86xv.c
|
|
@@ -234,7 +234,7 @@ xf86XVScreenInit(ScreenPtr pScreen, XF86VideoAdaptorPtr * adaptors, int num)
|
|
XF86XVScreenPtr ScreenPriv;
|
|
XvScreenPtr pxvs;
|
|
|
|
- if (num <= 0 || noXvExtension)
|
|
+ if (num <= 0 || noXvExtension || pScreen->isGPU)
|
|
return FALSE;
|
|
|
|
if (Success != XvScreenInit(pScreen))
|
|
diff --git a/hw/xfree86/common/xf86xvmc.c b/hw/xfree86/common/xf86xvmc.c
|
|
index 78a32bf..a0f6fcd 100644
|
|
--- a/hw/xfree86/common/xf86xvmc.c
|
|
+++ b/hw/xfree86/common/xf86xvmc.c
|
|
@@ -148,11 +148,15 @@ xf86XvMCScreenInit(ScreenPtr pScreen,
|
|
{
|
|
XvMCAdaptorPtr pAdapt;
|
|
xf86XvMCScreenPtr pScreenPriv;
|
|
- XvScreenPtr pxvs = (XvScreenPtr) dixLookupPrivate(&pScreen->devPrivates,
|
|
- XF86XvScreenKey);
|
|
+ XvScreenPtr pxvs;
|
|
int i, j;
|
|
|
|
- if (noXvExtension)
|
|
+ if (noXvExtension || pScreen->isGPU || !XF86XvScreenKey)
|
|
+ return FALSE;
|
|
+
|
|
+ pxvs = (XvScreenPtr) dixLookupPrivate(&pScreen->devPrivates,
|
|
+ XF86XvScreenKey);
|
|
+ if (!pxvs)
|
|
return FALSE;
|
|
|
|
if (!(pAdapt = malloc(sizeof(XvMCAdaptorRec) * num_adaptors)))
|