From 9164ea7032dc2aa36aebb46d110eb3c9356d62af Mon Sep 17 00:00:00 2001 From: Karmjit Mahil Date: Tue, 18 Jun 2024 16:32:06 +0200 Subject: [PATCH] freedreno/isa: Fix isaspec map for a3xx-ld When LDP uses a negative offset (which it valid), since `struct ir3_register` uses `{i,u}nt32_t` for the immediate values, using `extract_reg_uim()` wasn't sign extending negative immediate values. Addresses: ``` src/freedreno/isa/encode.h:84: pack_field: Assertion '!(( val & ~BITFIELD64_MASK(1 + high - low)) && (~val & ~BITFIELD64_MASK(1 + high - low)))' failed. ``` seen in https://gitlab.freedesktop.org/mesa/mesa/-/issues/11153 . Signed-off-by: Karmjit Mahil Part-of: --- src/freedreno/isa/ir3-cat6.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/freedreno/isa/ir3-cat6.xml b/src/freedreno/isa/ir3-cat6.xml index 09d76b32a77..0e331cf62e9 100644 --- a/src/freedreno/isa/ir3-cat6.xml +++ b/src/freedreno/isa/ir3-cat6.xml @@ -335,7 +335,7 @@ SOFTWARE. xxxxxxxxx xx - extract_reg_uim(src->srcs[1]) + extract_reg_iim(src->srcs[1]) src->srcs[0] extract_reg_uim(src->srcs[2])