diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2014-04-15 16:31:08 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2014-04-15 16:34:06 +0100 |
commit | b0472af1f3c6832838b0cfea38e261c908afd04e (patch) | |
tree | 296946f22af23bbb3a4b901f734269bb2c1dfc0b /src | |
parent | 49e72bd4e59085aa940e5af63381c5394ee670ad (diff) |
sna: Mark partial composite operations upfront
Rather than guess in the backend when we are going to be called for
multiple boxes, rely on the frontend declaring it correctly.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src')
-rw-r--r-- | src/sna/gen2_render.c | 2 | ||||
-rw-r--r-- | src/sna/gen3_render.c | 2 | ||||
-rw-r--r-- | src/sna/gen4_render.c | 2 | ||||
-rw-r--r-- | src/sna/gen5_render.c | 2 | ||||
-rw-r--r-- | src/sna/gen6_render.c | 2 | ||||
-rw-r--r-- | src/sna/gen7_render.c | 2 | ||||
-rw-r--r-- | src/sna/gen8_render.c | 2 | ||||
-rw-r--r-- | src/sna/sna_composite.c | 3 | ||||
-rw-r--r-- | src/sna/sna_display.c | 2 |
9 files changed, 10 insertions, 9 deletions
diff --git a/src/sna/gen2_render.c b/src/sna/gen2_render.c index a6c24f7c..f51d6cf3 100644 --- a/src/sna/gen2_render.c +++ b/src/sna/gen2_render.c @@ -1904,7 +1904,7 @@ gen2_render_composite(struct sna *sna, if (!gen2_composite_set_target(sna, tmp, dst, dst_x, dst_y, width, height, - flags & COMPOSITE_PARTIAL || op > PictOpSrc || dst->pCompositeClip->data != NULL)) { + flags & COMPOSITE_PARTIAL || op > PictOpSrc)) { DBG(("%s: unable to set render target\n", __FUNCTION__)); goto fallback; diff --git a/src/sna/gen3_render.c b/src/sna/gen3_render.c index 1bfc509c..6ba1bb49 100644 --- a/src/sna/gen3_render.c +++ b/src/sna/gen3_render.c @@ -3515,7 +3515,7 @@ gen3_render_composite(struct sna *sna, if (!gen3_composite_set_target(sna, tmp, dst, dst_x, dst_y, width, height, - flags & COMPOSITE_PARTIAL || op > PictOpSrc || dst->pCompositeClip->data)) { + flags & COMPOSITE_PARTIAL || op > PictOpSrc)) { DBG(("%s: unable to set render target\n", __FUNCTION__)); goto fallback; diff --git a/src/sna/gen4_render.c b/src/sna/gen4_render.c index ee96f6cc..f74757b9 100644 --- a/src/sna/gen4_render.c +++ b/src/sna/gen4_render.c @@ -1948,7 +1948,7 @@ gen4_render_composite(struct sna *sna, if (!gen4_composite_set_target(sna, tmp, dst, dst_x, dst_y, width, height, - flags & COMPOSITE_PARTIAL || op > PictOpSrc || dst->pCompositeClip->data)) { + flags & COMPOSITE_PARTIAL || op > PictOpSrc)) { DBG(("%s: failed to set composite target\n", __FUNCTION__)); goto fallback; } diff --git a/src/sna/gen5_render.c b/src/sna/gen5_render.c index 51a9714f..67b0527a 100644 --- a/src/sna/gen5_render.c +++ b/src/sna/gen5_render.c @@ -1905,7 +1905,7 @@ gen5_render_composite(struct sna *sna, if (!gen5_composite_set_target(sna, tmp, dst, dst_x, dst_y, width, height, - flags & COMPOSITE_PARTIAL || op > PictOpSrc || dst->pCompositeClip->data)) { + flags & COMPOSITE_PARTIAL || op > PictOpSrc)) { DBG(("%s: failed to set composite target\n", __FUNCTION__)); goto fallback; } diff --git a/src/sna/gen6_render.c b/src/sna/gen6_render.c index 319cdedc..cb6f2937 100644 --- a/src/sna/gen6_render.c +++ b/src/sna/gen6_render.c @@ -2213,7 +2213,7 @@ gen6_render_composite(struct sna *sna, tmp->op = op; if (!gen6_composite_set_target(sna, tmp, dst, dst_x, dst_y, width, height, - flags & COMPOSITE_PARTIAL || op > PictOpSrc || dst->pCompositeClip->data)) + flags & COMPOSITE_PARTIAL || op > PictOpSrc)) goto fallback; switch (gen6_composite_picture(sna, src, &tmp->src, diff --git a/src/sna/gen7_render.c b/src/sna/gen7_render.c index 334958ad..8d32c3e1 100644 --- a/src/sna/gen7_render.c +++ b/src/sna/gen7_render.c @@ -2468,7 +2468,7 @@ gen7_render_composite(struct sna *sna, tmp->op = op; if (!gen7_composite_set_target(sna, tmp, dst, dst_x, dst_y, width, height, - flags & COMPOSITE_PARTIAL || op > PictOpSrc || dst->pCompositeClip->data)) + flags & COMPOSITE_PARTIAL || op > PictOpSrc)) goto fallback; switch (gen7_composite_picture(sna, src, &tmp->src, diff --git a/src/sna/gen8_render.c b/src/sna/gen8_render.c index e680f74d..0b7979e1 100644 --- a/src/sna/gen8_render.c +++ b/src/sna/gen8_render.c @@ -2222,7 +2222,7 @@ gen8_render_composite(struct sna *sna, tmp->op = op; if (!gen8_composite_set_target(sna, tmp, dst, dst_x, dst_y, width, height, - flags & COMPOSITE_PARTIAL || op > PictOpSrc || dst->pCompositeClip->data)) + flags & COMPOSITE_PARTIAL || op > PictOpSrc)) goto fallback; switch (gen8_composite_picture(sna, src, &tmp->src, diff --git a/src/sna/sna_composite.c b/src/sna/sna_composite.c index 5bcea883..13c9802d 100644 --- a/src/sna/sna_composite.c +++ b/src/sna/sna_composite.c @@ -720,7 +720,8 @@ sna_composite(CARD8 op, region.extents.y1, region.extents.x2 - region.extents.x1, region.extents.y2 - region.extents.y1, - 0, memset(&tmp, 0, sizeof(tmp)))) { + region.data ? COMPOSITE_PARTIAL : 0, + memset(&tmp, 0, sizeof(tmp)))) { DBG(("%s: fallback due unhandled composite op\n", __FUNCTION__)); goto fallback; } diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c index cb0d063f..90c24fe0 100644 --- a/src/sna/sna_display.c +++ b/src/sna/sna_display.c @@ -4948,7 +4948,7 @@ sna_crtc_redisplay__composite(xf86CrtcPtr crtc, RegionPtr region, struct kgem_bo 0, 0, 0, 0, crtc->mode.HDisplay, crtc->mode.VDisplay, - 0, memset(&tmp, 0, sizeof(tmp)))) { + COMPOSITE_PARTIAL, memset(&tmp, 0, sizeof(tmp)))) { DBG(("%s: unsupported operation!\n", __FUNCTION__)); sna_crtc_redisplay__fallback(crtc, region, bo); goto free_dst; |