broadcom/genxml: Fix decoding of groups with small fields.
authorKenneth Graunke <kenneth@whitecape.org>
Thu, 26 Oct 2017 04:17:14 +0000 (21:17 -0700)
committerEric Anholt <eric@anholt.net>
Tue, 7 Nov 2017 17:19:48 +0000 (09:19 -0800)
commitcb47de4ff0668597902c4276deb2f8b2e2d2d28e
treea80fed59015c51b46f07a46e30d5453bd57fafa1
parent47dac5d2bc8b72a5ea96bccd537ca31b6713f090
broadcom/genxml: Fix decoding of groups with small fields.

Groups containing fields smaller than a byte probably not being decoded
correctly.  For example:

    <group count="32" start="32" size="4">
      <field name="Vertex Element Enables" start="0" end="3" type="uint"/>
    </group>

gen_field_iterator_next would properly walk over each element of the
array, incrementing group_iter.  However, the code to print the actual
values only considered iter->field->start/end, which are 0 and 3 in the
above example.  So it would always fetch bits 3:0 of the current byte,
printing the same value over and over.

Cc: Eric Anholt <eric@anholt.net>
src/broadcom/cle/v3d_decoder.c