diff options
-rw-r--r-- | src/freedreno/rnn/rnndec.c | 7 | ||||
-rw-r--r-- | src/freedreno/rnn/rnndec.h | 2 |
2 files changed, 3 insertions, 6 deletions
diff --git a/src/freedreno/rnn/rnndec.c b/src/freedreno/rnn/rnndec.c index db92de332f6..553c422d054 100644 --- a/src/freedreno/rnn/rnndec.c +++ b/src/freedreno/rnn/rnndec.c @@ -137,14 +137,11 @@ static const char *rnndec_decode_enum_val(struct rnndeccontext *ctx, return NULL; } -char *rnndec_decode_enum(struct rnndeccontext *ctx, const char *enumname, uint64_t enumval) +const char *rnndec_decode_enum(struct rnndeccontext *ctx, const char *enumname, uint64_t enumval) { struct rnnenum *en = rnn_findenum (ctx->db, enumname); if (en) { - int i; - for (i = 0; i < en->valsnum; i++) - if (en->vals[i]->valvalid && en->vals[i]->value == enumval) - return en->vals[i]->name; + return rnndec_decode_enum_val(ctx, en->vals, en->valsnum, enumval); } return NULL; } diff --git a/src/freedreno/rnn/rnndec.h b/src/freedreno/rnn/rnndec.h index 1e21d02ba7f..6e90eb9e97d 100644 --- a/src/freedreno/rnn/rnndec.h +++ b/src/freedreno/rnn/rnndec.h @@ -50,7 +50,7 @@ struct rnndecaddrinfo { struct rnndeccontext *rnndec_newcontext(struct rnndb *db); int rnndec_varadd(struct rnndeccontext *ctx, char *varset, const char *variant); int rnndec_varmatch(struct rnndeccontext *ctx, struct rnnvarinfo *vi); -char *rnndec_decode_enum(struct rnndeccontext *ctx, const char *enumname, uint64_t enumval); +const char *rnndec_decode_enum(struct rnndeccontext *ctx, const char *enumname, uint64_t enumval); char *rnndec_decodeval(struct rnndeccontext *ctx, struct rnntypeinfo *ti, uint64_t value); int rnndec_checkaddr(struct rnndeccontext *ctx, struct rnndomain *domain, uint64_t addr, int write); struct rnndecaddrinfo *rnndec_decodeaddr(struct rnndeccontext *ctx, struct rnndomain *domain, uint64_t addr, int write); |