Imported Debian patch 2:1.15.1-0ubuntu2.6
[deb_xorg-server.git] / debian / patches / xfree86-no-xv-for-gpuscreens.patch
1 diff --git a/hw/xfree86/common/xf86xv.c b/hw/xfree86/common/xf86xv.c
2 index 92d0f6d..a33366a 100644
3 --- a/hw/xfree86/common/xf86xv.c
4 +++ b/hw/xfree86/common/xf86xv.c
5 @@ -234,7 +234,7 @@ xf86XVScreenInit(ScreenPtr pScreen, XF86VideoAdaptorPtr * adaptors, int num)
6 XF86XVScreenPtr ScreenPriv;
7 XvScreenPtr pxvs;
8
9 - if (num <= 0 || noXvExtension)
10 + if (num <= 0 || noXvExtension || pScreen->isGPU)
11 return FALSE;
12
13 if (Success != XvScreenInit(pScreen))
14 diff --git a/hw/xfree86/common/xf86xvmc.c b/hw/xfree86/common/xf86xvmc.c
15 index 78a32bf..a0f6fcd 100644
16 --- a/hw/xfree86/common/xf86xvmc.c
17 +++ b/hw/xfree86/common/xf86xvmc.c
18 @@ -148,11 +148,15 @@ xf86XvMCScreenInit(ScreenPtr pScreen,
19 {
20 XvMCAdaptorPtr pAdapt;
21 xf86XvMCScreenPtr pScreenPriv;
22 - XvScreenPtr pxvs = (XvScreenPtr) dixLookupPrivate(&pScreen->devPrivates,
23 - XF86XvScreenKey);
24 + XvScreenPtr pxvs;
25 int i, j;
26
27 - if (noXvExtension)
28 + if (noXvExtension || pScreen->isGPU || !XF86XvScreenKey)
29 + return FALSE;
30 +
31 + pxvs = (XvScreenPtr) dixLookupPrivate(&pScreen->devPrivates,
32 + XF86XvScreenKey);
33 + if (!pxvs)
34 return FALSE;
35
36 if (!(pAdapt = malloc(sizeof(XvMCAdaptorRec) * num_adaptors)))