diff --git a/src/gallium/auxiliary/util/u_dump.h b/src/gallium/auxiliary/util/u_dump.h index d9188fb7806..dab2d19c15d 100644 --- a/src/gallium/auxiliary/util/u_dump.h +++ b/src/gallium/auxiliary/util/u_dump.h @@ -135,6 +135,10 @@ void util_dump_clip_state(FILE *stream, const struct pipe_clip_state *state); +void +util_dump_stream_output_info(FILE *stream, + const struct pipe_stream_output_info *state); + void util_dump_shader_state(FILE *stream, const struct pipe_shader_state *state); diff --git a/src/gallium/auxiliary/util/u_dump_state.c b/src/gallium/auxiliary/util/u_dump_state.c index f0bca16805a..c950de7f3fd 100644 --- a/src/gallium/auxiliary/util/u_dump_state.c +++ b/src/gallium/auxiliary/util/u_dump_state.c @@ -462,12 +462,37 @@ util_dump_clip_state(FILE *stream, const struct pipe_clip_state *state) util_dump_struct_end(stream); } +void +util_dump_stream_output_info(FILE *stream, + const struct pipe_stream_output_info *state) +{ + if (!state) { + util_dump_null(stream); + return; + } + + util_dump_struct_begin(stream, "pipe_stream_output_info"); + util_dump_member(stream, uint, state, num_outputs); + util_dump_array(stream, uint, state->stride, + ARRAY_SIZE(state->stride)); + util_dump_array_begin(stream); + for (unsigned i = 0; i < state->num_outputs; ++i) { + util_dump_elem_begin(stream); + util_dump_struct_begin(stream, ""); /* anonymous */ + util_dump_member(stream, uint, &state->output[i], register_index); + util_dump_member(stream, uint, &state->output[i], start_component); + util_dump_member(stream, uint, &state->output[i], num_components); + util_dump_member(stream, uint, &state->output[i], output_buffer); + util_dump_struct_end(stream); + util_dump_elem_end(stream); + } + util_dump_array_end(stream); + util_dump_struct_end(stream); +} void util_dump_shader_state(FILE *stream, const struct pipe_shader_state *state) { - unsigned i; - if (!state) { util_dump_null(stream); return; @@ -485,23 +510,7 @@ util_dump_shader_state(FILE *stream, const struct pipe_shader_state *state) if (state->stream_output.num_outputs) { util_dump_member_begin(stream, "stream_output"); - util_dump_struct_begin(stream, "pipe_stream_output_info"); - util_dump_member(stream, uint, &state->stream_output, num_outputs); - util_dump_array(stream, uint, state->stream_output.stride, - ARRAY_SIZE(state->stream_output.stride)); - util_dump_array_begin(stream); - for(i = 0; i < state->stream_output.num_outputs; ++i) { - util_dump_elem_begin(stream); - util_dump_struct_begin(stream, ""); /* anonymous */ - util_dump_member(stream, uint, &state->stream_output.output[i], register_index); - util_dump_member(stream, uint, &state->stream_output.output[i], start_component); - util_dump_member(stream, uint, &state->stream_output.output[i], num_components); - util_dump_member(stream, uint, &state->stream_output.output[i], output_buffer); - util_dump_struct_end(stream); - util_dump_elem_end(stream); - } - util_dump_array_end(stream); - util_dump_struct_end(stream); + util_dump_stream_output_info(stream, &state->stream_output); util_dump_member_end(stream); }