From 3bf366f349b02d702007c1cded7fc6908adcc7a0 Mon Sep 17 00:00:00 2001 From: yserrr Date: Sat, 6 Jun 2026 00:57:00 +0000 Subject: [PATCH] v3d: fix stencil blit layer selection The stencil blit path used PIPE_TEXTURE_3D directly as a ternary condition when computing the last layer. This tests the enum constant itself rather than the resource target, so the 3D branch is always selected. Check src->base.target instead so non-3D stencil resources use their array size when selecting the layer range. Fixes: ac207acb97 ("broadcom/vc5: Implement stencil blits using RGBA.") Signed-off-by: yserrr Reviewed-by: Iago Toral Quiroga Part-of: --- src/gallium/drivers/v3d/v3d_blit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/v3d/v3d_blit.c b/src/gallium/drivers/v3d/v3d_blit.c index 91330039246..1181130ddb8 100644 --- a/src/gallium/drivers/v3d/v3d_blit.c +++ b/src/gallium/drivers/v3d/v3d_blit.c @@ -204,7 +204,7 @@ v3d_stencil_blit(struct pipe_context *ctx, struct pipe_blit_info *info) .first_level = info->src.level, .last_level = info->src.level, .first_layer = 0, - .last_layer = (PIPE_TEXTURE_3D ? + .last_layer = ((src->base.target == PIPE_TEXTURE_3D) ? u_minify(src->base.depth0, info->src.level) - 1 : src->base.array_size - 1),