sna/gen6+: Do not call sna_blt_composite() after prepping the composite op

As sna_blt_composite() will overwrite parts of the composite op as it
checks whether or not it can execute that operation, it will lead to a
crash as the normal render path finds the op corrupt. (The BLT
conversion functions cater for the cases where we may wish to switch
pipelines after choosing src/dst bo.)

Reported-by: rei4dan@gmail.com
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
Chris Wilson 2012-08-26 14:53:12 +01:00
parent cbbe7727e7
commit 8e10a5b348
2 changed files with 0 additions and 19 deletions

View File

@ -2685,15 +2685,6 @@ gen6_render_composite(struct sna *sna,
if (!gen6_composite_set_target(sna, tmp, dst))
return false;
if (mask == NULL && sna->kgem.mode == KGEM_BLT &&
sna_blt_composite(sna, op,
src, dst,
src_x, src_y,
dst_x, dst_y,
width, height,
tmp, false))
return true;
sna_render_reduce_damage(tmp, dst_x, dst_y, width, height);
if (too_large(tmp->dst.width, tmp->dst.height)) {

View File

@ -2788,16 +2788,6 @@ gen7_render_composite(struct sna *sna,
if (!gen7_composite_set_target(sna, tmp, dst))
return false;
if (mask == NULL &&
sna->kgem.mode == KGEM_BLT &&
sna_blt_composite(sna, op,
src, dst,
src_x, src_y,
dst_x, dst_y,
width, height,
tmp, false))
return true;
sna_render_reduce_damage(tmp, dst_x, dst_y, width, height);
if (too_large(tmp->dst.width, tmp->dst.height)) {