From d7dc40b32fcc6b77b187dcdc25c96d14681ebf4b Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Fri, 30 Jan 2026 14:59:13 -0800 Subject: [PATCH] freedreno/decode: Allow dom[1] to be NULL The lua script bridge does this. Allow it. Fixes crashes when script tries to index non-existant fields. Signed-off-by: Rob Clark Part-of: --- src/freedreno/decode/rnnutil.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/freedreno/decode/rnnutil.c b/src/freedreno/decode/rnnutil.c index 6def53bc138..2f46843475a 100644 --- a/src/freedreno/decode/rnnutil.c +++ b/src/freedreno/decode/rnnutil.c @@ -130,7 +130,7 @@ uint32_t rnn_regbase(struct rnn *rnn, const char *name) { uint32_t regbase = rnndec_decodereg(rnn->vc_nocolor, rnn->dom[0], name); - if (!regbase) + if (!regbase && rnn->dom[1]) regbase = rnndec_decodereg(rnn->vc_nocolor, rnn->dom[1], name); return regbase; } @@ -211,7 +211,9 @@ rnn_regelem(struct rnn *rnn, const char *name) struct rnndelem *elem = regelem(rnn->vc, rnn->dom[0], name); if (elem) return elem; - return regelem(rnn->vc, rnn->dom[1], name); + if (rnn->dom[1]) + return regelem(rnn->vc, rnn->dom[1], name); + return NULL; } static struct rnndelem * @@ -235,7 +237,9 @@ rnn_regoff(struct rnn *rnn, uint32_t offset) struct rnndelem *elem = regoff(rnn->vc, rnn->dom[0], offset); if (elem) return elem; - return regoff(rnn->vc, rnn->dom[1], offset); + if (rnn->dom[1]) + return regoff(rnn->vc, rnn->dom[1], offset); + return NULL; } enum rnnttype