summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2011-10-25 12:24:17 +0200
committerDaniel Vetter <daniel.vetter@ffwll.ch>2011-10-25 12:24:17 +0200
commit28d1be3f9bca0ef5fb87d5c8c45d71f7e94a4e2c (patch)
treedcaf3d35e599d206075ee9d3c3b08bafc9675761
parentc2657e865f5c87a8ac64f75a560b6c0f01fe1a0d (diff)
tools/decode: decode XY_SCANLINES_BLT
-rw-r--r--tools/intel_decode.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/tools/intel_decode.c b/tools/intel_decode.c
index b55573c..7162581 100644
--- a/tools/intel_decode.c
+++ b/tools/intel_decode.c
@@ -295,6 +295,24 @@ decode_2d(uint32_t *data, int count, uint32_t hw_offset, int *failures)
};
switch ((data[0] & 0x1fc00000) >> 22) {
+ case 0x25:
+ instr_out(data, hw_offset, 0,
+ "XY_SCANLINES_BLT (pattern seed (%d, %d), dst tile %d)\n",
+ (data[0] >> 12) &0x8,
+ (data[0] >> 8) &0x8,
+ (data[0] >> 11) & 1);
+
+ len = (data[0] & 0x000000ff) + 2;
+ if (len != 3)
+ fprintf(out, "Bad count in XY_SCANLINES_BLT\n");
+ if (count < 3)
+ BUFFER_FAIL(count, len, "XY_SCANLINES_BLT");
+
+ instr_out(data, hw_offset, 1, "dest (%d,%d)\n",
+ data[1] & 0xffff, data[1] >> 16);
+ instr_out(data, hw_offset, 2, "dest (%d,%d)\n",
+ data[2] & 0xffff, data[2] >> 16);
+ return len;
case 0x01:
decode_2d_br00(data, 0, hw_offset, "XY_SETUP_BLT");