freedreno/registers: Handle typed registers with fields
authorConnor Abbott <cwabbott0@gmail.com>
Tue, 9 Mar 2021 15:00:15 +0000 (16:00 +0100)
committerMarge Bot <eric+marge@anholt.net>
Thu, 11 Mar 2021 20:58:39 +0000 (20:58 +0000)
commit9a5596d6798c587552e26d53fa6f0acbd649f937
tree3465707c01096e3329a864cf51b6cb2c005c095f
parent8d55a1e1123cfb1b50ffd182568451747c1407f9
freedreno/registers: Handle typed registers with fields

When a bitset is "inline" it should act as-if the its fields were
inserted into the register itself. However when initializing the
register's bitfield we weren't doing a deep copy of the inline bitfield,
so if the register defined additional fields then they would get added
to the original inline bitfield and any further registers with the same
type would get them. Fix this.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9493>
src/freedreno/registers/gen_header.py