mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-02-21 14:20:29 +01:00
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>
This commit is contained in:
parent
47dac5d2bc
commit
cb47de4ff0
1 changed files with 4 additions and 2 deletions
|
|
@ -781,8 +781,10 @@ v3d_field_iterator_next(struct v3d_field_iterator *iter)
|
|||
|
||||
const char *enum_name = NULL;
|
||||
|
||||
int s = iter->field->start;
|
||||
int e = iter->field->end;
|
||||
int group_member_offset =
|
||||
iter_group_offset_bits(iter, iter->group_iter);
|
||||
int s = group_member_offset + iter->field->start;
|
||||
int e = group_member_offset + iter->field->end;
|
||||
|
||||
switch (iter->field->type.kind) {
|
||||
case V3D_TYPE_UNKNOWN:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue