gallium/util: add util_dump_stream_output_info

Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14388>
This commit is contained in:
Marek Olšák 2022-01-03 05:42:08 -05:00 committed by Marge Bot
parent 1dcd1eac6a
commit 2a708efec3
2 changed files with 32 additions and 19 deletions

View file

@ -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);

View file

@ -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);
}