Module: Mesa Branch: master Commit: 5ecffaa7a669f20ed0b578a75a1cfcb9f169da6f URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5ecffaa7a669f20ed0b578a75a1cfcb9f169da6f
Author: Mike Blumenkrantz <michael.blumenkra...@gmail.com> Date: Wed Apr 7 08:23:50 2021 -0400 aux/trace: enhance trigger mode to dump context states during bind when dumping a single frame, the creation info for these states hasn't been dumped yet, so always dump it during bind so it's visible Acked-by: Adam Jackson <a...@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10093> --- src/gallium/auxiliary/driver_trace/tr_context.c | 15 ++++++++++++--- src/gallium/auxiliary/driver_trace/tr_dump.c | 6 ++++++ src/gallium/auxiliary/driver_trace/tr_dump.h | 1 + 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/gallium/auxiliary/driver_trace/tr_context.c b/src/gallium/auxiliary/driver_trace/tr_context.c index 1a25678f11a..25f0821a2ef 100644 --- a/src/gallium/auxiliary/driver_trace/tr_context.c +++ b/src/gallium/auxiliary/driver_trace/tr_context.c @@ -305,7 +305,10 @@ trace_context_bind_blend_state(struct pipe_context *_pipe, trace_dump_call_begin("pipe_context", "bind_blend_state"); trace_dump_arg(ptr, pipe); - trace_dump_arg(ptr, state); + if (trace_dump_is_triggered()) + trace_dump_arg(blend_state, state); + else + trace_dump_arg(ptr, state); pipe->bind_blend_state(pipe, state); @@ -432,7 +435,10 @@ trace_context_bind_rasterizer_state(struct pipe_context *_pipe, trace_dump_call_begin("pipe_context", "bind_rasterizer_state"); trace_dump_arg(ptr, pipe); - trace_dump_arg(ptr, state); + if (trace_dump_is_triggered()) + trace_dump_arg(rasterizer_state, state); + else + trace_dump_arg(ptr, state); pipe->bind_rasterizer_state(pipe, state); @@ -491,7 +497,10 @@ trace_context_bind_depth_stencil_alpha_state(struct pipe_context *_pipe, trace_dump_call_begin("pipe_context", "bind_depth_stencil_alpha_state"); trace_dump_arg(ptr, pipe); - trace_dump_arg(ptr, state); + if (trace_dump_is_triggered()) + trace_dump_arg(depth_stencil_alpha_state, state); + else + trace_dump_arg(ptr, state); pipe->bind_depth_stencil_alpha_state(pipe, state); diff --git a/src/gallium/auxiliary/driver_trace/tr_dump.c b/src/gallium/auxiliary/driver_trace/tr_dump.c index 20f498ea1b5..9032ddfce65 100644 --- a/src/gallium/auxiliary/driver_trace/tr_dump.c +++ b/src/gallium/auxiliary/driver_trace/tr_dump.c @@ -99,6 +99,12 @@ trace_dump_check_trigger(void) mtx_unlock(&call_mutex); } +bool +trace_dump_is_triggered(void) +{ + return trigger_active && !!trigger_filename; +} + static inline void trace_dump_write(const char *buf, size_t size) { diff --git a/src/gallium/auxiliary/driver_trace/tr_dump.h b/src/gallium/auxiliary/driver_trace/tr_dump.h index 48e648b2822..9a4b294372c 100644 --- a/src/gallium/auxiliary/driver_trace/tr_dump.h +++ b/src/gallium/auxiliary/driver_trace/tr_dump.h @@ -110,6 +110,7 @@ void trace_dump_transfer_ptr(struct pipe_transfer *_transfer); void trace_dump_trigger_active(bool active); void trace_dump_check_trigger(void); +bool trace_dump_is_triggered(void); /* * Code saving macros. _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit