summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2011-10-14 11:31:00 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2011-10-14 11:31:00 +0100
commit3d79264ef8a8be225d9b13efd14f37a7478e6b1b (patch)
tree67fb15b288c70840c9df163208e0663ca11e53d3
parentf5f3135e3cc1f4740508773cfefca0954aed2fd3 (diff)
sna/tiling: Hook up composite_box
Now used for spans and so triggering death by NULL function pointer on older chipsets. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/sna/sna_tiling.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/sna/sna_tiling.c b/src/sna/sna_tiling.c
index 80989d8d..295936b7 100644
--- a/src/sna/sna_tiling.c
+++ b/src/sna/sna_tiling.c
@@ -95,6 +95,24 @@ sna_tiling_composite_blt(struct sna *sna,
(void)sna;
}
+fastcall static void
+sna_tiling_composite_box(struct sna *sna,
+ const struct sna_composite_op *op,
+ const BoxRec *box)
+{
+ struct sna_composite_rectangles r;
+
+ r.dst.x = box->x1;
+ r.dst.y = box->y1;
+ r.mask = r.src = r.dst;
+
+ r.width = box->x2 - box->x1;
+ r.height = box->y2 - box->y1;
+
+ sna_tiling_composite_add_rect(op->u.priv, &r);
+ (void)sna;
+}
+
static void
sna_tiling_composite_boxes(struct sna *sna,
const struct sna_composite_op *op,
@@ -258,6 +276,7 @@ sna_tiling_composite(uint32_t op,
tile->rect_size = ARRAY_SIZE(tile->rects_embedded);
tmp->blt = sna_tiling_composite_blt;
+ tmp->box = sna_tiling_composite_box;
tmp->boxes = sna_tiling_composite_boxes;
tmp->done = sna_tiling_composite_done;