summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2014-03-31 12:46:58 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2014-03-31 13:37:38 +0100
commit76380bcc3c23d75575d37c0436369a8014bd5a3e (patch)
treef371cbd2c32769c04e7907e9fb31c60b9c7f639f /src
parentc4c8a1b180a9d4c1126ee4fe3120128aa560306c (diff)
sna: Allow reassignment of inactive VMA if not mapped into the GTT
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src')
-rw-r--r--src/sna/kgem.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/sna/kgem.c b/src/sna/kgem.c
index 063a1c43..65458359 100644
--- a/src/sna/kgem.c
+++ b/src/sna/kgem.c
@@ -4420,9 +4420,13 @@ large_inactive:
if (bo->tiling != tiling ||
(tiling != I915_TILING_NONE && bo->pitch != pitch)) {
- DBG(("inactive vma with wrong tiling: %d < %d\n",
- bo->tiling, tiling));
- continue;
+ if (bo->map__gtt ||
+ !gem_set_tiling(kgem->fd, bo->handle,
+ tiling, pitch)) {
+ DBG(("inactive GTT vma with wrong tiling: %d < %d\n",
+ bo->tiling, tiling));
+ continue;
+ }
}
if (bo->purged && !kgem_bo_clear_purgeable(kgem, bo)) {