xf86-video-intel: 2 commits - src/sna/sna_dri3.c src/sna/sna_io.c
Chris Wilson
ickle at kemper.freedesktop.org
Thu Apr 16 06:32:27 PDT 2015
src/sna/sna_dri3.c | 2 ++
src/sna/sna_io.c | 5 +++++
2 files changed, 7 insertions(+)
New commits:
commit 57252b63f92c8f58cb62c28461d86becf463302b
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Thu Apr 16 14:29:53 2015 +0100
sna: Force GTT fallback if we cannot BLT or RENDER download
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/sna_io.c b/src/sna/sna_io.c
index d6aa129..4250f9e 100644
--- a/src/sna/sna_io.c
+++ b/src/sna/sna_io.c
@@ -281,6 +281,9 @@ fallback:
if (box[n].y2 > extents.y2)
extents.y2 = box[n].y2;
}
+ if (!can_blt && sna->render.max_3d_size == 0)
+ goto fallback;
+
if (kgem_bo_can_map(kgem, src_bo)) {
/* Is it worth detiling? */
if ((extents.y2 - extents.y1 - 1) * src_bo->pitch < 4096)
@@ -849,6 +852,8 @@ bool sna_write_boxes(struct sna *sna, PixmapPtr dst,
if (box[n].y2 > extents.y2)
extents.y2 = box[n].y2;
}
+ if (!can_blt && sna->render.max_3d_size == 0)
+ goto fallback;
/* Try to avoid switching rings... */
if (!can_blt || kgem->ring == KGEM_RENDER ||
commit 5df16db52ec994fce2f3af952ad08a13c9c700aa
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Thu Apr 16 14:22:33 2015 +0100
sna/dri3: Mark incoming sna_pixmap->flags
We use the flags for deciding how to operate on the GPU bo, so we should
set them!
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/sna_dri3.c b/src/sna/sna_dri3.c
index f586e24..ecfb6f3 100644
--- a/src/sna/sna_dri3.c
+++ b/src/sna/sna_dri3.c
@@ -270,6 +270,8 @@ static PixmapPtr sna_dri3_pixmap_from_fd(ScreenPtr screen,
priv->ptr = MAKE_STATIC_PTR(pixmap->devPrivate.ptr);
} else {
assert(priv->gpu_bo == bo);
+ priv->create = kgem_can_create_2d(&sna->kgem,
+ width, height, depth);
priv->pinned |= PIN_DRI3;
}
list_add(&priv->cow_list, &sna->dri3.pixmaps);
More information about the xorg-commit
mailing list