summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2013-05-30 14:15:23 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2013-05-30 15:06:42 +0100
commit3a9975729c665cd09a33e33eab608350aaee8160 (patch)
tree5c2adfe3820efd93888e1b15b8a46d3fdb41e4b5
parent08b33ba8f12bb4bc425ca1bc40e2660e446e2c65 (diff)
sna: Restore GPU promotion for large fills
Fix another regression from commit ef9dc6fae585d5616446eedc1e6e91173f4064c1 [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>
-rw-r--r--src/sna/sna_accel.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
index 3e3e75c1..7cdc8fc8 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -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);