sna: Restore GPU promotion for large fills

Fix another regression from
commit ef9dc6fae5 [2.21.7]
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon May 20 11:08:51 2013 +0100

    sna: Undo a few more overwritten operations upon a bo

The REPLACES predicate was meant to complement the existing tests, not
be compulsory.

Found whilst investigating why performance seemed to have dropped off in
Phoronix's benchmarks.

Reported-by: Michael Larabel <michael@phoronix.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
Chris Wilson 2013-05-30 14:15:23 +01:00
parent 08b33ba8f1
commit 3a9975729c
1 changed files with 1 additions and 2 deletions

View File

@ -12223,8 +12223,7 @@ sna_poly_fill_rect(DrawablePtr draw, GCPtr gc, int n, xRectangle *rect)
hint |= REPLACES;
if (priv->cpu_damage == NULL) {
if (priv->gpu_bo &&
hint & REPLACES &&
box_inplace(pixmap, &region.extents)) {
(hint & REPLACES || box_inplace(pixmap, &region.extents))) {
DBG(("%s: promoting to full GPU\n",
__FUNCTION__));
assert(priv->gpu_bo->proxy == NULL);