summaryrefslogtreecommitdiff
path: root/tools/intel_decode.c
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2011-03-03 21:20:26 +0100
committerDaniel Vetter <daniel.vetter@ffwll.ch>2011-03-03 21:23:22 +0100
commit05309ebfe43d54ae231676cabbee9a285ef6375a (patch)
tree6ff0582bc5614b4f84849ab6090649e63e4ad101 /tools/intel_decode.c
parent1f35267948ef98c5685a02633784a5ca13e49718 (diff)
Decode MS3 tex format
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'tools/intel_decode.c')
-rw-r--r--tools/intel_decode.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/tools/intel_decode.c b/tools/intel_decode.c
index c2a75976..1b1516e0 100644
--- a/tools/intel_decode.c
+++ b/tools/intel_decode.c
@@ -820,7 +820,6 @@ decode_3d_1d(uint32_t *data, int count,
{ 0x9e, 0, 4, 4, "3DSTATE_MONO_FILTER" },
{ 0x89, 0, 4, 4, "3DSTATE_FOG_MODE" },
{ 0x8f, 0, 2, 16, "3DSTATE_MAP_PALLETE_LOAD_32" },
- { 0x81, 0, 3, 3, "3DSTATE_SCISSOR_RECTANGLE" },
{ 0x83, 0, 2, 2, "3DSTATE_SPAN_STIPPLE" },
{ 0x8c, 1, 2, 2, "3DSTATE_MAP_COORD_TRANSFORM_I830" },
{ 0x8b, 1, 2, 2, "3DSTATE_MAP_VERTEX_TRANSFORM_I830" },
@@ -1179,6 +1178,22 @@ decode_3d_1d(uint32_t *data, int count,
instr_out(data, hw_offset, 2, "address\n");
return len;
}
+ case 0x81:
+ len = (data[0] & 0x0000000f) + 2;
+
+ if (len != 3)
+ fprintf(out, "Bad count in 3DSTATE_SCISSOR_RECTANGLE\n");
+ if (count < 3)
+ BUFFER_FAIL(count, len, "3DSTATE_SCISSOR_RECTANGLE");
+
+ instr_out(data, hw_offset, 0,
+ "3DSTATE_SCISSOR_RECTANGLE\n");
+ instr_out(data, hw_offset, 1, "(%d,%d)\n",
+ data[1] & 0xffff, data[1] >> 16);
+ instr_out(data, hw_offset, 2, "(%d,%d)\n",
+ data[2] & 0xffff, data[2] >> 16);
+
+ return len;
}
for (idx = 0; idx < ARRAY_SIZE(opcodes_3d_1d); idx++)