Revert "sna: Don't flush the render caches if in the process of writing again"

This reverts commit 15266e1b95.

KDE relies upon the ability to render into a sampler and then render
upon itself. Not the first sign of madness...

Will have to find another way of winning back the compwinwin
performance.
This commit is contained in:
Chris Wilson 2011-10-30 11:22:26 +00:00
parent d406270517
commit 2d3aba8518
6 changed files with 6 additions and 12 deletions

View File

@ -1375,8 +1375,7 @@ gen2_render_composite(struct sna *sna,
NULL))
kgem_submit(&sna->kgem);
if ((tmp->src.bo != tmp->dst.bo && kgem_bo_is_dirty(tmp->src.bo)) ||
(tmp->mask.bo && tmp->mask.bo != tmp->dst.bo && kgem_bo_is_dirty(tmp->mask.bo))) {
if (kgem_bo_is_dirty(tmp->src.bo) || kgem_bo_is_dirty(tmp->mask.bo)) {
if (tmp->src.bo == tmp->dst.bo || tmp->mask.bo == tmp->dst.bo) {
kgem_emit_flush(&sna->kgem);
} else {

View File

@ -2479,8 +2479,7 @@ gen3_render_composite(struct sna *sna,
NULL))
kgem_submit(&sna->kgem);
if ((tmp->src.bo != tmp->dst.bo && kgem_bo_is_dirty(tmp->src.bo)) ||
(tmp->mask.bo && tmp->mask.bo != tmp->dst.bo && kgem_bo_is_dirty(tmp->mask.bo))) {
if (kgem_bo_is_dirty(tmp->src.bo) || kgem_bo_is_dirty(tmp->mask.bo)) {
if (tmp->src.bo == tmp->dst.bo || tmp->mask.bo == tmp->dst.bo) {
kgem_emit_flush(&sna->kgem);
} else {

View File

@ -2058,8 +2058,7 @@ gen4_render_composite(struct sna *sna,
NULL))
kgem_submit(&sna->kgem);
if ((tmp->src.bo != tmp->dst.bo && kgem_bo_is_dirty(tmp->src.bo)) ||
(tmp->mask.bo && tmp->mask.bo != tmp->dst.bo && kgem_bo_is_dirty(tmp->mask.bo)))
if (kgem_bo_is_dirty(tmp->src.bo) || kgem_bo_is_dirty(tmp->mask.bo))
kgem_emit_flush(&sna->kgem);
gen4_bind_surfaces(sna, tmp);

View File

@ -2078,8 +2078,7 @@ gen5_render_composite(struct sna *sna,
tmp->dst.bo, tmp->src.bo, tmp->mask.bo, NULL))
kgem_submit(&sna->kgem);
if ((tmp->src.bo != tmp->dst.bo && kgem_bo_is_dirty(tmp->src.bo)) ||
(tmp->mask.bo && tmp->mask.bo != tmp->dst.bo && kgem_bo_is_dirty(tmp->mask.bo)))
if (kgem_bo_is_dirty(tmp->src.bo) || kgem_bo_is_dirty(tmp->mask.bo))
kgem_emit_flush(&sna->kgem);
gen5_bind_surfaces(sna, tmp);

View File

@ -2248,8 +2248,7 @@ gen6_render_composite(struct sna *sna,
NULL))
kgem_submit(&sna->kgem);
if ((tmp->src.bo != tmp->dst.bo && kgem_bo_is_dirty(tmp->src.bo)) ||
(tmp->mask.bo && tmp->mask.bo != tmp->dst.bo && kgem_bo_is_dirty(tmp->mask.bo)))
if (kgem_bo_is_dirty(tmp->src.bo) || kgem_bo_is_dirty(tmp->mask.bo))
kgem_emit_flush(&sna->kgem);
gen6_emit_composite_state(sna, tmp);

View File

@ -2388,8 +2388,7 @@ gen7_render_composite(struct sna *sna,
NULL))
kgem_submit(&sna->kgem);
if ((tmp->src.bo != tmp->dst.bo && kgem_bo_is_dirty(tmp->src.bo)) ||
(tmp->mask.bo && tmp->mask.bo != tmp->dst.bo && kgem_bo_is_dirty(tmp->mask.bo)))
if (kgem_bo_is_dirty(tmp->src.bo) || kgem_bo_is_dirty(tmp->mask.bo))
kgem_emit_flush(&sna->kgem);
gen7_emit_composite_state(sna, tmp);