summaryrefslogtreecommitdiff
path: root/src/sna
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2013-07-31 17:01:47 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2013-07-31 17:45:16 +0100
commit278ee155d572d3132d27823bb69995a8cc61c2c0 (patch)
tree3b8ebb136ef0a8e6269ddd558d4770210366426f /src/sna
parentbfe25b8110fc4d4761b57e3ec07b8467890b90a1 (diff)
sna: Relax readback constraint for CPU mappings of scanouts
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna')
-rw-r--r--src/sna/kgem.c4
-rw-r--r--src/sna/kgem.h2
2 files changed, 2 insertions, 4 deletions
diff --git a/src/sna/kgem.c b/src/sna/kgem.c
index 27f00894..29a5dfc9 100644
--- a/src/sna/kgem.c
+++ b/src/sna/kgem.c
@@ -5016,7 +5016,6 @@ void *kgem_bo_map__cpu(struct kgem *kgem, struct kgem_bo *bo)
__FUNCTION__, bo->handle, bytes(bo), (int)__MAP_TYPE(bo->map)));
assert(!bo->purged);
assert(list_is_empty(&bo->list));
- assert(!bo->scanout || kgem->has_wt);
assert(bo->proxy == NULL);
if (IS_CPU_MAP(bo->map))
@@ -5065,7 +5064,6 @@ void *__kgem_bo_map__cpu(struct kgem *kgem, struct kgem_bo *bo)
assert(!bo->purged);
assert(list_is_empty(&bo->list));
assert(bo->proxy == NULL);
- assert(!bo->scanout || kgem->has_wt);
if (IS_CPU_MAP(bo->map))
return MAP(bo->map);
@@ -5237,7 +5235,7 @@ void kgem_bo_sync__cpu(struct kgem *kgem, struct kgem_bo *bo)
void kgem_bo_sync__cpu_full(struct kgem *kgem, struct kgem_bo *bo, bool write)
{
DBG(("%s: handle=%d\n", __FUNCTION__, bo->handle));
- assert(!bo->scanout || (kgem->has_wt && !write));
+ assert(!bo->scanout || !write);
if (write || bo->needs_flush)
kgem_bo_submit(kgem, bo);
diff --git a/src/sna/kgem.h b/src/sna/kgem.h
index a6e48b62..e7265301 100644
--- a/src/sna/kgem.h
+++ b/src/sna/kgem.h
@@ -578,7 +578,7 @@ static inline bool kgem_bo_can_map__cpu(struct kgem *kgem,
struct kgem_bo *bo,
bool write)
{
- if (bo->scanout && (write || bo->purged || !kgem->has_wt))
+ if (bo->scanout && (write || bo->purged))
return false;
if (kgem->has_llc)