summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2011-03-06 00:12:03 +0100
committerDaniel Vetter <daniel.vetter@ffwll.ch>2011-03-06 00:12:10 +0100
commitafe492549d782fc58201268d119092e069d31a83 (patch)
tree0a2ca5c7fabae4c351718741ee135a759b02dbfc /tools
parentad27fac946ca67d88bf12b40d6455c30daf1584b (diff)
Decode 3DSTATE_CLEAR_PARAMETERS
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'tools')
-rw-r--r--tools/intel_decode.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/tools/intel_decode.c b/tools/intel_decode.c
index f17f02e6..d0629c65 100644
--- a/tools/intel_decode.c
+++ b/tools/intel_decode.c
@@ -916,7 +916,6 @@ decode_3d_1d(uint32_t *data, int count,
char *name;
} opcodes_3d_1d[] = {
{ 0x86, 0, 4, 4, "3DSTATE_CHROMA_KEY" },
- { 0x9c, 0, 7, 7, "3DSTATE_CLEAR_PARAMETERS" },
{ 0x88, 0, 2, 2, "3DSTATE_CONSTANT_BLEND_COLOR" },
{ 0x99, 0, 2, 2, "3DSTATE_DEFAULT_DIFFUSE" },
{ 0x9a, 0, 2, 2, "3DSTATE_DEFAULT_SPECULAR" },
@@ -1480,6 +1479,28 @@ decode_3d_1d(uint32_t *data, int count,
data[4] & 0xffff, data[4] >> 16);
return len;
+ case 0x9c:
+ len = (data[0] & 0x0000000f) + 2;
+
+ if (len != 7)
+ fprintf(out, "Bad count in 3DSTATE_CLEAR_PARAMETERS\n");
+ if (count < 7)
+ BUFFER_FAIL(count, len, "3DSTATE_CLEAR_PARAMETERS");
+
+ instr_out(data, hw_offset, 0,
+ "3DSTATE_CLEAR_PARAMETERS\n");
+ instr_out(data, hw_offset, 1, "prim_type=%s, clear=%s%s%s\n",
+ data[1]&(1<<16)?"CLEAR_RECT":"ZONE_INIT",
+ data[1]&(1<<2)?"color,":"",
+ data[1]&(1<<1)?"depth,":"",
+ data[1]&(1<<0)?"stencil,":"");
+ instr_out(data, hw_offset, 2, "clear color\n");
+ instr_out(data, hw_offset, 3, "clear depth/stencil\n");
+ instr_out(data, hw_offset, 4, "color value (rgba8888)\n");
+ instr_out(data, hw_offset, 5, "depth value %f\n",
+ int_as_float(data[5]));
+ instr_out(data, hw_offset, 6, "clear stencil\n");
+ return len;
}
for (idx = 0; idx < ARRAY_SIZE(opcodes_3d_1d); idx++)