summaryrefslogtreecommitdiff
path: root/tests/gen3_mixed_blits.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2011-06-05 19:10:14 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2011-06-05 19:10:14 +0100
commite7119c2e3bf73bd1029a668d167c16a0949fef70 (patch)
treecca6e2835b82ad551ffdf9e123292c93b6b2c9f6 /tests/gen3_mixed_blits.c
parent6f6cd8191392a9b6c5805524cbe3fd62937f76bb (diff)
test/gen3_mixed_blits: Remember that the BLT engine cannot handle Y-tiling
...even through a fence that can. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'tests/gen3_mixed_blits.c')
-rw-r--r--tests/gen3_mixed_blits.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/tests/gen3_mixed_blits.c b/tests/gen3_mixed_blits.c
index f5b3c4e4..90a61a82 100644
--- a/tests/gen3_mixed_blits.c
+++ b/tests/gen3_mixed_blits.c
@@ -453,10 +453,14 @@ copy(int fd,
uint32_t dst, int dst_tiling,
uint32_t src, int src_tiling)
{
+retry:
switch (random() % 3) {
case 0: render_copy(fd, dst, dst_tiling, src, src_tiling, 0); break;
case 1: render_copy(fd, dst, dst_tiling, src, src_tiling, 1); break;
- case 2: blt_copy(fd, dst, src); break;
+ case 2: if (dst_tiling == I915_TILING_Y || src_tiling == I915_TILING_Y)
+ goto retry;
+ blt_copy(fd, dst, src);
+ break;
}
}