st/xorg: Reject Composite acceleration for some cases not working yet.
authorMichel Dänzer <daenzer@vmware.com>
Fri, 25 Sep 2009 18:49:53 +0000 (20:49 +0200)
committerMichel Dänzer <daenzer@vmware.com>
Fri, 25 Sep 2009 18:49:53 +0000 (20:49 +0200)
src/gallium/state_trackers/xorg/xorg_composite.c

index 93e8c0c7fb888c426a938d78353a27ef09b020b9..a97cad48b52e8c887adac7a99d758da1dd89a9ac 100644 (file)
@@ -287,6 +287,16 @@ boolean xorg_composite_accelerated(int op,
    unsigned accel_ops_count =
       sizeof(accelerated_ops)/sizeof(struct acceleration_info);
 
+   if (pSrcPicture->pSourcePict) {
+      /* Gradients not yet supported */
+      if (pSrcPicture->pSourcePict->type != SourcePictTypeSolidFill)
+         return FALSE;
+
+      /* Solid source with mask not yet handled properly */
+      if (pMaskPicture)
+         return FALSE;
+   }
+
    for (i = 0; i < accel_ops_count; ++i) {
       if (op == accelerated_ops[i].op) {
          /* Check for unsupported component alpha */