diff options
Diffstat (limited to 'src/intel/common/gen_decoder.h')
-rw-r--r-- | src/intel/common/gen_decoder.h | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/intel/common/gen_decoder.h b/src/intel/common/gen_decoder.h index da12c01addc..12d0c063ee9 100644 --- a/src/intel/common/gen_decoder.h +++ b/src/intel/common/gen_decoder.h @@ -28,6 +28,7 @@ #include <stdbool.h> #include "common/gen_device_info.h" +#include "util/hash_table.h" struct gen_spec; struct gen_group; @@ -42,6 +43,7 @@ struct gen_group *gen_spec_find_struct(struct gen_spec *spec, const char *name); struct gen_spec *gen_spec_load(const struct gen_device_info *devinfo); struct gen_spec *gen_spec_load_from_path(const struct gen_device_info *devinfo, const char *path); +void gen_spec_destroy(struct gen_spec *spec); uint32_t gen_spec_get_gen(struct gen_spec *spec); struct gen_group *gen_spec_find_instruction(struct gen_spec *spec, const uint32_t *p); struct gen_group *gen_spec_find_register(struct gen_spec *spec, uint32_t offset); @@ -72,14 +74,11 @@ struct gen_field_iterator { struct gen_spec { uint32_t gen; - uint32_t ncommands; - struct gen_group *commands[256]; - uint32_t nstructs; - struct gen_group *structs[256]; - uint32_t nregisters; - struct gen_group *registers[256]; - uint32_t nenums; - struct gen_enum *enums[256]; + struct hash_table *commands; + struct hash_table *structs; + struct hash_table *registers_by_name; + struct hash_table *registers_by_offset; + struct hash_table *enums; }; struct gen_group { |