From f2f488ced5eaf19efc03859a505bdd68991bbe20 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Fri, 31 Jan 2025 14:40:22 +0100 Subject: [PATCH] pan/decode: Fix the blend_count mask The blend count field is 4 bits not 3 bits. Fixes: f2740ac69c93 ("pan/decode: Add support for decoding CSF") Signed-off-by: Boris Brezillon Reviewed-by: Lars-Ivar Hesselberg Simonsen Part-of: (cherry picked from commit 438652654bbbfe6657c12cef70c38f17f1a60bcd) --- .pick_status.json | 2 +- src/panfrost/lib/genxml/decode_csf.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 49efe3e0313..7a277e5670b 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -814,7 +814,7 @@ "description": "pan/decode: Fix the blend_count mask", "nominated": true, "nomination_type": 2, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "f2740ac69c93872910161e64e6d06a53a119634e", "notes": null diff --git a/src/panfrost/lib/genxml/decode_csf.c b/src/panfrost/lib/genxml/decode_csf.c index 1250e49ca89..a3b15399405 100644 --- a/src/panfrost/lib/genxml/decode_csf.c +++ b/src/panfrost/lib/genxml/decode_csf.c @@ -595,7 +595,7 @@ pandecode_run_tiling(struct pandecode_context *ctx, FILE *fp, cs_get_u64(qctx, 48)); uint64_t blend = cs_get_u64(qctx, 50); - GENX(pandecode_blend_descs)(ctx, blend & ~7, blend & 7, 0, qctx->gpu_id); + GENX(pandecode_blend_descs)(ctx, blend & ~15, blend & 15, 0, qctx->gpu_id); DUMP_ADDR(ctx, DEPTH_STENCIL, cs_get_u64(qctx, 52), "Depth/stencil"); @@ -610,6 +610,7 @@ pandecode_run_tiling(struct pandecode_context *ctx, FILE *fp, ctx->indent--; } + static void pandecode_run_idvs(struct pandecode_context *ctx, FILE *fp, struct queue_ctx *qctx, struct MALI_CS_RUN_IDVS *I) @@ -726,7 +727,7 @@ pandecode_run_idvs(struct pandecode_context *ctx, FILE *fp, pandecode_log(ctx, "Varying allocation: %u\n", cs_get_u32(qctx, 48)); uint64_t blend = cs_get_u64(qctx, 50); - GENX(pandecode_blend_descs)(ctx, blend & ~7, blend & 7, 0, qctx->gpu_id); + GENX(pandecode_blend_descs)(ctx, blend & ~15, blend & 15, 0, qctx->gpu_id); DUMP_ADDR(ctx, DEPTH_STENCIL, cs_get_u64(qctx, 52), "Depth/stencil");