aux: add support for dumping the swizzle in pipe_blit_info

Just some additional debug code for the new blit swizzle feature.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31378>
This commit is contained in:
Eric R. Smith
2024-10-27 19:48:55 -03:00
committed by Marge Bot
parent b81aefcc19
commit 3da4a404ae
3 changed files with 24 additions and 0 deletions

View File

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

View File

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

View File

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