summaryrefslogtreecommitdiffstats
path: root/src/intel/common/gen_decoder.h
diff options
context:
space:
mode:
authorLionel Landwerlin <[email protected]>2018-05-01 22:14:12 +0100
committerLionel Landwerlin <[email protected]>2018-05-02 17:10:37 +0100
commit4f128f7850e64829b8b1399ef0bdfd1eec7f4504 (patch)
tree2d2dbda4bcf300bedbe18112fdebbe12c1e26408 /src/intel/common/gen_decoder.h
parent3c416a50d8d203115012363b13a4083f1c6de069 (diff)
intel: decoder: identify groups with fixed length
<register> & <struct> elements always have fixed length. The get_length() method implies that we're dealing with an instruction in which the length is encoded into the variable data but the field iterator uses it without checking what kind of gen_group it is dealing with. Let's make get_length() report the correct length regardless of the gen_group (register, struct or instruction). Signed-off-by: Lionel Landwerlin <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/intel/common/gen_decoder.h')
-rw-r--r--src/intel/common/gen_decoder.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/intel/common/gen_decoder.h b/src/intel/common/gen_decoder.h
index f28ac7d27af..7d3bedca5b5 100644
--- a/src/intel/common/gen_decoder.h
+++ b/src/intel/common/gen_decoder.h
@@ -104,6 +104,7 @@ struct gen_group {
uint32_t group_offset, group_count;
uint32_t group_size;
bool variable;
+ bool fixed_length; /* True for <struct> & <register> */
struct gen_group *parent;
struct gen_group *next;