From 3da4a404aeb755b606665a2bdc34e87dc58e266e Mon Sep 17 00:00:00 2001 From: "Eric R. Smith" Date: Sun, 27 Oct 2024 19:48:55 -0300 Subject: [PATCH] aux: add support for dumping the swizzle in pipe_blit_info MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Just some additional debug code for the new blit swizzle feature. Reviewed-by: Marek Olšák Acked-by: Faith Ekstrand Part-of: --- src/gallium/auxiliary/driver_ddebug/dd_draw.c | 2 ++ src/gallium/auxiliary/driver_trace/tr_dump_state.c | 10 ++++++++++ src/gallium/auxiliary/util/u_dump_state.c | 12 ++++++++++++ 3 files changed, 24 insertions(+) diff --git a/src/gallium/auxiliary/driver_ddebug/dd_draw.c b/src/gallium/auxiliary/driver_ddebug/dd_draw.c index a220998276f..b13b941c4b1 100644 --- a/src/gallium/auxiliary/driver_ddebug/dd_draw.c +++ b/src/gallium/auxiliary/driver_ddebug/dd_draw.c @@ -485,6 +485,8 @@ dd_dump_blit(struct dd_draw_state *dstate, struct pipe_blit_info *info, FILE *f) DUMP_M_ADDR(scissor_state, info, scissor); DUMP_M(uint, info, render_condition_enable); + DUMP_M(uint, info, swizzle_enable); + if (info->render_condition_enable) dd_dump_render_condition(dstate, f); } diff --git a/src/gallium/auxiliary/driver_trace/tr_dump_state.c b/src/gallium/auxiliary/driver_trace/tr_dump_state.c index 278332cf0ff..172e0ca1ef7 100644 --- a/src/gallium/auxiliary/driver_trace/tr_dump_state.c +++ b/src/gallium/auxiliary/driver_trace/tr_dump_state.c @@ -1018,6 +1018,16 @@ void trace_dump_blit_info(const struct pipe_blit_info *info) trace_dump_scissor_state(&info->scissor); trace_dump_member_end(); + trace_dump_member(bool, info, swizzle_enable); + static const char *swiz = "RGBA01"; + for (unsigned i = 0; i < 4; i++) { + unsigned s = (unsigned)info->swizzle[i]; + mask[i] = s < 6 ? swiz[s] : '?'; + } + trace_dump_member_begin("swizzle"); + trace_dump_string(mask); + trace_dump_member_end(); + trace_dump_struct_end(); } diff --git a/src/gallium/auxiliary/util/u_dump_state.c b/src/gallium/auxiliary/util/u_dump_state.c index 9ada6bfc747..4c6262a75a9 100644 --- a/src/gallium/auxiliary/util/u_dump_state.c +++ b/src/gallium/auxiliary/util/u_dump_state.c @@ -1018,6 +1018,8 @@ void util_dump_box(FILE *stream, const struct pipe_box *box) void util_dump_blit_info(FILE *stream, const struct pipe_blit_info *info) { char mask[7]; + unsigned s; + static const char *swiz = "RGBA01"; if (!info) { util_dump_null(stream); @@ -1066,6 +1068,16 @@ void util_dump_blit_info(FILE *stream, const struct pipe_blit_info *info) util_dump_scissor_state(stream, &info->scissor); util_dump_member_end(stream); + util_dump_member(stream, bool, info, swizzle_enable); + + for (unsigned i = 0; i < 4; i++) { + s = (unsigned)info->swizzle[i]; + mask[i] = s < 6 ? swiz[s] : '?'; + } + util_dump_member_begin(stream, "swizzle"); + util_dump_string(stream, mask); + util_dump_member_end(stream); + util_dump_member(stream, bool, info, render_condition_enable); util_dump_struct_end(stream);