aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/state_trackers/xorg/xorg_composite.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/gallium/state_trackers/xorg/xorg_composite.c b/src/gallium/state_trackers/xorg/xorg_composite.c
index 93e8c0c7fb8..a97cad48b52 100644
--- a/src/gallium/state_trackers/xorg/xorg_composite.c
+++ b/src/gallium/state_trackers/xorg/xorg_composite.c
@@ -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 */