From 4d8369f8e60fd4f5a0ef49f3e9866ea5ecb21927 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Wed, 8 Feb 2012 13:15:46 +0000 Subject: sna/gen2+: Force upload rather than perform source transformations on the CPU If both the source and destination is on the CPU, then the thinking was it would be quicker to operate on those on the CPU rather than copy both to the GPU and then perform the operation. This turns out to be a false assumption if transformation is involved -- something to be reconsidered if pixman should ever be improved. Signed-off-by: Chris Wilson --- src/sna/gen6_render.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/sna/gen6_render.c') diff --git a/src/sna/gen6_render.c b/src/sna/gen6_render.c index 17789e96..1476ff7f 100644 --- a/src/sna/gen6_render.c +++ b/src/sna/gen6_render.c @@ -2324,10 +2324,16 @@ has_alphamap(PicturePtr p) return p->alphaMap != NULL; } +static bool +untransformed(PicturePtr p) +{ + return !p->transform || pixman_transform_is_int_translate(p->transform); +} + static bool need_upload(PicturePtr p) { - return p->pDrawable && unattached(p->pDrawable); + return p->pDrawable && unattached(p->pDrawable) && untransformed(p); } static bool -- cgit v1.2.3