summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/util/u_dump_state.c
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2017-04-02 15:24:19 +0200
committerMarek Olšák <[email protected]>2017-05-10 19:00:16 +0200
commit22f6624ed318e8131681ec1f2e7b3a59449df412 (patch)
treeba8d1d3e12d2a75fdf82eea5ac409974e76153ad /src/gallium/auxiliary/util/u_dump_state.c
parentc24c3b94ed29ecd99b1101c74c6c4606f9b5580e (diff)
gallium: separate indirect stuff from pipe_draw_info - 80 -> 56 bytes
For faster initialization of non-indirect draws.
Diffstat (limited to 'src/gallium/auxiliary/util/u_dump_state.c')
-rw-r--r--src/gallium/auxiliary/util/u_dump_state.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/gallium/auxiliary/util/u_dump_state.c b/src/gallium/auxiliary/util/u_dump_state.c
index b9e6b522589..5e42bdd3028 100644
--- a/src/gallium/auxiliary/util/u_dump_state.c
+++ b/src/gallium/auxiliary/util/u_dump_state.c
@@ -941,11 +941,16 @@ util_dump_draw_info(FILE *stream, const struct pipe_draw_info *state)
util_dump_member(stream, ptr, state, count_from_stream_output);
- util_dump_member(stream, ptr, state, indirect);
- util_dump_member(stream, uint, state, indirect_offset);
- util_dump_member(stream, uint, state, indirect_stride);
- util_dump_member(stream, uint, state, indirect_count);
- util_dump_member(stream, uint, state, indirect_params_offset);
+ if (!state->indirect) {
+ util_dump_member(stream, ptr, state, indirect);
+ } else {
+ util_dump_member(stream, uint, state, indirect->offset);
+ util_dump_member(stream, uint, state, indirect->stride);
+ util_dump_member(stream, uint, state, indirect->draw_count);
+ util_dump_member(stream, uint, state, indirect->indirect_draw_count_offset);
+ util_dump_member(stream, ptr, state, indirect->buffer);
+ util_dump_member(stream, ptr, state, indirect->indirect_draw_count);
+ }
util_dump_struct_end(stream);
}