From 5092610f29b9e10d3835af8b4ed1ca13809657b5 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 11 Jan 2018 11:53:02 -0700 Subject: [PATCH] st/mesa: add some debug code in st_choose_format() To aid in debugging gallium surface format selection issues. Reviewed-by: Roland Scheidegger --- src/mesa/state_tracker/st_format.c | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/src/mesa/state_tracker/st_format.c b/src/mesa/state_tracker/st_format.c index 3f7e55eed98..cc72ba406e6 100644 --- a/src/mesa/state_tracker/st_format.c +++ b/src/mesa/state_tracker/st_format.c @@ -2128,8 +2128,9 @@ st_choose_format(struct st_context *st, GLenum internalFormat, pf = find_exact_format(internalFormat, format, type); if (pf != PIPE_FORMAT_NONE && screen->is_format_supported(screen, pf, - target, sample_count, bindings)) - return pf; + target, sample_count, bindings)) { + goto success; + } /* search table for internalFormat */ for (i = 0; i < ARRAY_SIZE(format_map); i++) { @@ -2139,15 +2140,27 @@ st_choose_format(struct st_context *st, GLenum internalFormat, /* Found the desired internal format. Find first pipe format * which is supported by the driver. */ - return find_supported_format(screen, mapping->pipeFormats, - target, sample_count, bindings, - allow_dxt); + pf = find_supported_format(screen, mapping->pipeFormats, + target, sample_count, bindings, + allow_dxt); + goto success; } } } _mesa_problem(NULL, "unhandled format!\n"); return PIPE_FORMAT_NONE; + +success: + if (0) { + debug_printf("%s(fmt=%s, type=%s, intFmt=%s) = %s\n", + __FUNCTION__, + _mesa_enum_to_string(format), + _mesa_enum_to_string(type), + _mesa_enum_to_string(internalFormat), + util_format_name(pf)); + } + return pf; } -- 2.30.2