etnaviv: rs: Add DBG(..) why blt usage was not possible

Can be helpful to debug issues.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32592>
This commit is contained in:
Christian Gmeiner 2024-12-11 16:15:01 +01:00 committed by Marge Bot
parent faf562651a
commit 2ebd5fb978

View file

@ -637,8 +637,11 @@ etna_try_rs_blit(struct pipe_context *pctx,
return false;
/* RS does not support upscaling */
if ((src_xscale < dst_xscale) || (src_yscale < dst_yscale))
if ((src_xscale < dst_xscale) || (src_yscale < dst_yscale)) {
DBG("upscaling requested: source %dx%d destination %dx%d",
src_xscale, src_yscale, dst_xscale, dst_yscale);
return false;
}
if (src_xscale > dst_xscale)
downsample_x = true;
@ -669,8 +672,12 @@ etna_try_rs_blit(struct pipe_context *pctx,
* - fail if swizzle needed
* - avoid trying to convert between float/int formats?
*/
if (blit_info->src.format != blit_info->dst.format)
if (blit_info->src.format != blit_info->dst.format) {
DBG("non matching formats: %s vs %s",
util_format_short_name(blit_info->src.format),
util_format_short_name(blit_info->dst.format));
return false;
}
/* try to find a exact format match first */
uint32_t format = translate_rs_format(blit_info->dst.format);
@ -679,8 +686,10 @@ etna_try_rs_blit(struct pipe_context *pctx,
*/
if (format == ETNA_NO_MATCH && !downsample_x && !downsample_y)
format = etna_compatible_rs_format(blit_info->dst.format);
if (format == ETNA_NO_MATCH)
if (format == ETNA_NO_MATCH) {
DBG("format not supported: %s", util_format_short_name(blit_info->dst.format));
return false;
}
if (blit_info->scissor_enable ||
blit_info->swizzle_enable ||
@ -692,12 +701,20 @@ etna_try_rs_blit(struct pipe_context *pctx,
unsigned w_mask, h_mask;
etna_get_rs_alignment_mask(ctx, src->layout, &w_mask, &h_mask);
if ((blit_info->src.box.x & w_mask) || (blit_info->src.box.y & h_mask))
if ((blit_info->src.box.x & w_mask) || (blit_info->src.box.y & h_mask)) {
DBG("src x/y not properly aligned: %d %d",
blit_info->src.box.x,
blit_info->src.box.y);
return false;
}
etna_get_rs_alignment_mask(ctx, dst->layout, &w_mask, &h_mask);
if ((blit_info->dst.box.x & w_mask) || (blit_info->dst.box.y & h_mask))
if ((blit_info->dst.box.x & w_mask) || (blit_info->dst.box.y & h_mask)) {
DBG("dst x/y not properly aligned: %d %d",
blit_info->src.box.x,
blit_info->src.box.y);
return false;
}
struct etna_resource_level *src_lev = &src->levels[blit_info->src.level];
struct etna_resource_level *dst_lev = &dst->levels[blit_info->dst.level];