xfree86-no-xv-for-gpuscreens.patch 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  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. - if (num <= 0 || noXvExtension)
  9. + if (num <= 0 || noXvExtension || pScreen->isGPU)
  10. return FALSE;
  11. if (Success != XvScreenInit(pScreen))
  12. diff --git a/hw/xfree86/common/xf86xvmc.c b/hw/xfree86/common/xf86xvmc.c
  13. index 78a32bf..a0f6fcd 100644
  14. --- a/hw/xfree86/common/xf86xvmc.c
  15. +++ b/hw/xfree86/common/xf86xvmc.c
  16. @@ -148,11 +148,15 @@ xf86XvMCScreenInit(ScreenPtr pScreen,
  17. {
  18. XvMCAdaptorPtr pAdapt;
  19. xf86XvMCScreenPtr pScreenPriv;
  20. - XvScreenPtr pxvs = (XvScreenPtr) dixLookupPrivate(&pScreen->devPrivates,
  21. - XF86XvScreenKey);
  22. + XvScreenPtr pxvs;
  23. int i, j;
  24. - if (noXvExtension)
  25. + if (noXvExtension || pScreen->isGPU || !XF86XvScreenKey)
  26. + return FALSE;
  27. +
  28. + pxvs = (XvScreenPtr) dixLookupPrivate(&pScreen->devPrivates,
  29. + XF86XvScreenKey);
  30. + if (!pxvs)
  31. return FALSE;
  32. if (!(pAdapt = malloc(sizeof(XvMCAdaptorRec) * num_adaptors)))