diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2011-03-03 21:20:26 +0100 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2011-03-03 21:23:22 +0100 |
commit | 05309ebfe43d54ae231676cabbee9a285ef6375a (patch) | |
tree | 6ff0582bc5614b4f84849ab6090649e63e4ad101 /tools/intel_decode.c | |
parent | 1f35267948ef98c5685a02633784a5ca13e49718 (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.c | 17 |
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++) |