Daniel Drake wrote:
> Hi,
> 
> The VX855 code posted to this list does not modify viaInitVideo().
> This means that DMA blitting and Xv get disabled.
> 
> Is this intentional, or are these things not supported?
> 
This is an oversight. The attached patches enable them. I don't have the
hardware so I can't test, but it should work.

Regards,
Xavier


Index: src/via_video.c
===================================================================
--- src/via_video.c	(revision 751)
+++ src/via_video.c	(working copy)
@@ -564,17 +564,21 @@
 
     pVia->useDmaBlit = FALSE;
 #ifdef XF86DRI
-    pVia->useDmaBlit = pVia->directRenderingEnabled &&
-    ((pVia->Chipset == VIA_CLE266) ||
-        (pVia->Chipset == VIA_KM400) ||
-        (pVia->Chipset == VIA_K8M800) ||
-        (pVia->Chipset == VIA_PM800) ||
-        (pVia->Chipset == VIA_VM800) ||
-        (pVia->Chipset == VIA_K8M890) ||
-        (pVia->Chipset == VIA_P4M900) ||
-        (pVia->Chipset == VIA_CX700) ||
-        (pVia->Chipset == VIA_VX800) ||
-        (pVia->Chipset == VIA_P4M890));
+    switch (pVia->Chipset) {
+        case VIA_CLE266:
+        case VIA_KM400:
+        case VIA_K8M800:
+        case VIA_PM800:
+        case VIA_VM800:
+        case VIA_P4M890:
+        case VIA_CX700:
+        case VIA_K8M890:
+        case VIA_P4M900:
+        case VIA_VX800:
+        case VIA_VX855:
+            pVia->useDmaBlit = pVia->directRenderingEnabled;
+            break;
+    }
     if ((pVia->drmVerMajor < 2) ||
         ((pVia->drmVerMajor == 2) && (pVia->drmVerMinor < 9)))
         pVia->useDmaBlit = FALSE;
Index: src/via_video.c
===================================================================
--- src/via_video.c	(revision 751)
+++ src/via_video.c	(working copy)
@@ -588,17 +592,26 @@
     if (!viaFastVidCpy)
         viaFastVidCpy = viaVidCopyInit("video", pScreen);
 
-    if ((pVia->Chipset == VIA_CLE266) || (pVia->Chipset == VIA_KM400) ||
-        (pVia->Chipset == VIA_K8M800) || (pVia->Chipset == VIA_PM800) ||
-        (pVia->Chipset == VIA_VM800) || (pVia->Chipset == VIA_K8M890) ||
-        (pVia->Chipset == VIA_P4M900) || (pVia->Chipset == VIA_CX700) ||
-        (pVia->Chipset == VIA_P4M890) || (pVia->Chipset == VIA_VX800)) {
-        num_new = viaSetupAdaptors(pScreen, &newAdaptors);
-        num_adaptors = xf86XVListGenericAdaptors(pScrn, &adaptors);
-    } else {
-        xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
-                "[Xv] Unsupported Chipset. X video functionality disabled.\n");
-        num_adaptors = 0;
+    switch (pVia->Chipset) {
+        case VIA_CLE266:
+        case VIA_KM400:
+        case VIA_K8M800:
+        case VIA_PM800:
+        case VIA_VM800:
+        case VIA_P4M890:
+        case VIA_CX700:
+        case VIA_K8M890:
+        case VIA_P4M900:
+        case VIA_VX800:
+        case VIA_VX855:
+            num_new = viaSetupAdaptors(pScreen, &newAdaptors);
+            num_adaptors = xf86XVListGenericAdaptors(pScrn, &adaptors);
+            break;
+        default:
+            xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+                       "[Xv] Unsupported Chipset. X video functionality disabled.\n");
+            num_adaptors = 0;
+            break;
     }
 
     DBG_DD(ErrorF(" via_video.c : num_adaptors : %d\n", num_adaptors));
_______________________________________________
Openchrome-devel mailing list
[email protected]
http://wiki.openchrome.org/mailman/listinfo/openchrome-devel

Reply via email to