summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorMichel Dänzer <[email protected]>2009-09-25 20:49:53 +0200
committerMichel Dänzer <[email protected]>2009-09-25 20:49:53 +0200
commit626553f327394b835cecaf4795692028c2378efa (patch)
treea2213b196e41bcc5341ac7f90c1a984ef4d9a987 /src/gallium
parent9c449502a2a92bc71bc438f366138ae82404c066 (diff)
st/xorg: Reject Composite acceleration for some cases not working yet.
Diffstat (limited to 'src/gallium')
-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 */