summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/sna/gen2_render.c2
-rw-r--r--src/sna/gen3_render.c2
-rw-r--r--src/sna/gen4_render.c2
-rw-r--r--src/sna/gen5_render.c2
-rw-r--r--src/sna/gen6_render.c2
-rw-r--r--src/sna/gen7_render.c2
-rw-r--r--src/sna/gen8_render.c2
-rw-r--r--src/sna/sna_composite.c3
-rw-r--r--src/sna/sna_display.c2
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;