Mesa (master): intel: decoder: extract instruction/structs length

Lionel Landwerlin llandwerlin at kemper.freedesktop.org
Wed Nov 1 14:25:58 UTC 2017


Module: Mesa
Branch: master
Commit: 38f338c19a7803a218a9b3249c4d6b2600edd75a
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=38f338c19a7803a218a9b3249c4d6b2600edd75a

Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date:   Tue Sep 26 00:54:49 2017 +0100

intel: decoder: extract instruction/structs length

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Reviewed-by: Scott D Phillips <scott.d.phillips at intel.com>

---

 src/intel/common/gen_decoder.c | 7 +++++++
 src/intel/common/gen_decoder.h | 1 +
 2 files changed, 8 insertions(+)

diff --git a/src/intel/common/gen_decoder.c b/src/intel/common/gen_decoder.c
index 97e54cd44a..24c9fa79ad 100644
--- a/src/intel/common/gen_decoder.c
+++ b/src/intel/common/gen_decoder.c
@@ -162,6 +162,13 @@ create_group(struct parser_context *ctx,
    group->spec = ctx->spec;
    group->variable = false;
 
+   for (int i = 0; atts[i]; i += 2) {
+      char *p;
+      if (strcmp(atts[i], "length") == 0) {
+         group->dw_length = strtoul(atts[i + 1], &p, 0);
+      }
+   }
+
    if (parent) {
       group->parent = parent;
       get_group_offset_count(atts,
diff --git a/src/intel/common/gen_decoder.h b/src/intel/common/gen_decoder.h
index 12d0c063ee..5d5ce7825f 100644
--- a/src/intel/common/gen_decoder.h
+++ b/src/intel/common/gen_decoder.h
@@ -87,6 +87,7 @@ struct gen_group {
 
    struct gen_field *fields; /* linked list of fields */
 
+   uint32_t dw_length;
    uint32_t group_offset, group_count;
    uint32_t group_size;
    bool variable;




More information about the mesa-commit mailing list