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 <karmjit.mahil@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29768>
This commit is contained in:
@@ -335,7 +335,7 @@ SOFTWARE.
|
||||
<pattern low="40" high="48">xxxxxxxxx</pattern>
|
||||
<pattern low="52" high="53">xx</pattern>
|
||||
<encode>
|
||||
<map name="OFF">extract_reg_uim(src->srcs[1])</map>
|
||||
<map name="OFF">extract_reg_iim(src->srcs[1])</map>
|
||||
<map name="SRC">src->srcs[0]</map>
|
||||
<map name="SIZE">extract_reg_uim(src->srcs[2])</map>
|
||||
</encode>
|
||||
|
Reference in New Issue
Block a user