diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2014-01-29 05:40:00 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2014-01-29 05:40:00 +0000 |
commit | 872468a059e164235527d1501940b2740d3da2ff (patch) | |
tree | e4df46e93ec09f91ec54be025bf290056a38de79 | |
parent | 4b73a0ea22b43807c0118f4d7e9dcac3f0626463 (diff) |
sna/gen6+: Encourage inplace uploads for Composite
First try using the blt path for a potential inplace upload for a
simple composite operation copying from a ShmPixmap.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r-- | src/sna/gen6_render.c | 4 | ||||
-rw-r--r-- | src/sna/gen7_render.c | 4 | ||||
-rw-r--r-- | src/sna/gen8_render.c | 4 |
3 files changed, 9 insertions, 3 deletions
diff --git a/src/sna/gen6_render.c b/src/sna/gen6_render.c index a117bf80..cf417d4c 100644 --- a/src/sna/gen6_render.c +++ b/src/sna/gen6_render.c @@ -1901,7 +1901,9 @@ try_blt(struct sna *sna, if (src->pDrawable) { bo = __sna_drawable_peek_bo(src->pDrawable); - if (bo && bo->rq) + if (bo == NULL) + return true; + else if (bo->rq) return RQ_IS_BLT(bo->rq); } diff --git a/src/sna/gen7_render.c b/src/sna/gen7_render.c index eec6d650..f15e057f 100644 --- a/src/sna/gen7_render.c +++ b/src/sna/gen7_render.c @@ -2182,7 +2182,9 @@ try_blt(struct sna *sna, if (src->pDrawable) { bo = __sna_drawable_peek_bo(src->pDrawable); - if (bo && bo->rq) + if (bo == NULL) + return true; + else if (bo->rq) return RQ_IS_BLT(bo->rq); } diff --git a/src/sna/gen8_render.c b/src/sna/gen8_render.c index fcc37abd..25fd5285 100644 --- a/src/sna/gen8_render.c +++ b/src/sna/gen8_render.c @@ -1933,7 +1933,9 @@ try_blt(struct sna *sna, if (src->pDrawable) { bo = __sna_drawable_peek_bo(src->pDrawable); - if (bo && bo->rq) + if (bo == NULL) + return true; + else if (bo->rq) return RQ_IS_BLT(bo->rq); } |