Revert "trace: Dump blend state as a binary blob."
authorJosé Fonseca <jose.r.fonseca@gmail.com>
Mon, 4 Apr 2011 10:48:07 +0000 (11:48 +0100)
committerJosé Fonseca <jose.r.fonseca@gmail.com>
Wed, 6 Apr 2011 07:26:04 +0000 (08:26 +0100)
This reverts commit dcdf94c87c087186f963b6e201b2989c61a76ef0.

No retrace support anymore, so human-legible representation of blend
state is much more useful than a blob.

src/gallium/drivers/trace/tr_dump_state.c

index 18805655bd77b56a59236a0e1076949713011d44..acb80edbf460af7ee48491156213ba07646e1461 100644 (file)
@@ -321,8 +321,29 @@ void trace_dump_depth_stencil_alpha_state(const struct pipe_depth_stencil_alpha_
    trace_dump_struct_end();
 }
 
+static void trace_dump_rt_blend_state(const struct pipe_rt_blend_state *state)
+{
+   trace_dump_struct_begin("pipe_rt_blend_state");
+
+   trace_dump_member(uint, state, blend_enable);
+
+   trace_dump_member(uint, state, rgb_func);
+   trace_dump_member(uint, state, rgb_src_factor);
+   trace_dump_member(uint, state, rgb_dst_factor);
+
+   trace_dump_member(uint, state, alpha_func);
+   trace_dump_member(uint, state, alpha_src_factor);
+   trace_dump_member(uint, state, alpha_dst_factor);
+
+   trace_dump_member(uint, state, colormask);
+
+   trace_dump_struct_end();
+}
+
 void trace_dump_blend_state(const struct pipe_blend_state *state)
 {
+   unsigned valid_entries = 1;
+
    if (!trace_dumping_enabled_locked())
       return;
 
@@ -331,7 +352,22 @@ void trace_dump_blend_state(const struct pipe_blend_state *state)
       return;
    }
 
-   trace_dump_bytes(state, sizeof *state);
+   trace_dump_struct_begin("pipe_blend_state");
+
+   trace_dump_member(bool, state, dither);
+
+   trace_dump_member(bool, state, logicop_enable);
+   trace_dump_member(uint, state, logicop_func);
+
+   trace_dump_member(bool, state, independent_blend_enable);
+
+   trace_dump_member_begin("rt");
+   if (state->independent_blend_enable)
+      valid_entries = PIPE_MAX_COLOR_BUFS;
+   trace_dump_struct_array(rt_blend_state, state->rt, valid_entries);
+   trace_dump_member_end();
+
+   trace_dump_struct_end();
 }