Mesa (master): intel: aubinator: print boolean fields to true with colors

Lionel Landwerlin llandwerlin at kemper.freedesktop.org
Tue Nov 1 22:40:27 UTC 2016


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

Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date:   Fri Oct 14 17:04:50 2016 +0100

intel: aubinator: print boolean fields to true with colors

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Reviewed-by: Sirisha Gandikota<sirisha.gandikota at intel.com>

---

 src/intel/tools/aubinator.c |  6 ++++--
 src/intel/tools/decoder.c   | 12 +++++++++---
 src/intel/tools/decoder.h   |  5 ++++-
 3 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/src/intel/tools/aubinator.c b/src/intel/tools/aubinator.c
index 4fee53c..73df16b 100644
--- a/src/intel/tools/aubinator.c
+++ b/src/intel/tools/aubinator.c
@@ -139,7 +139,8 @@ decode_structure(struct gen_spec *spec, struct gen_group *strct,
    else
       offset = 0;
 
-   gen_field_iterator_init(&iter, strct, p);
+   gen_field_iterator_init(&iter, strct, p,
+                           option_color == COLOR_ALWAYS);
    while (gen_field_iterator_next(&iter)) {
       idx = 0;
       print_dword_val(&iter, offset, &dword_num);
@@ -755,7 +756,8 @@ parse_commands(struct gen_spec *spec, uint32_t *cmds, int size, int engine)
          struct gen_field_iterator iter;
          char *token = NULL;
          int idx = 0, dword_num = 0;
-         gen_field_iterator_init(&iter, inst, p);
+         gen_field_iterator_init(&iter, inst, p,
+                                 option_color == COLOR_ALWAYS);
          while (gen_field_iterator_next(&iter)) {
             idx = 0;
             print_dword_val(&iter, offset, &dword_num);
diff --git a/src/intel/tools/decoder.c b/src/intel/tools/decoder.c
index 267b821..cab5271 100644
--- a/src/intel/tools/decoder.c
+++ b/src/intel/tools/decoder.c
@@ -594,11 +594,14 @@ gen_group_get_length(struct gen_group *group, const uint32_t *p)
 
 void
 gen_field_iterator_init(struct gen_field_iterator *iter,
-                        struct gen_group *group, const uint32_t *p)
+                        struct gen_group *group,
+                        const uint32_t *p,
+                        bool print_colors)
 {
    iter->group = group;
    iter->p = p;
    iter->i = 0;
+   iter->print_colors = print_colors;
 }
 
 bool
@@ -632,10 +635,13 @@ gen_field_iterator_next(struct gen_field_iterator *iter)
       snprintf(iter->value, sizeof(iter->value),
                "%"PRIu64, field(v.qw, f->start, f->end));
       break;
-   case GEN_TYPE_BOOL:
+   case GEN_TYPE_BOOL: {
+      const char *true_string =
+         iter->print_colors ? "\e[0;35mtrue\e[0m" : "true";
       snprintf(iter->value, sizeof(iter->value),
-               "%s", field(v.qw, f->start, f->end) ? "true" : "false");
+               "%s", field(v.qw, f->start, f->end) ? true_string : "false");
       break;
+   }
    case GEN_TYPE_FLOAT:
       snprintf(iter->value, sizeof(iter->value), "%f", v.f);
       break;
diff --git a/src/intel/tools/decoder.h b/src/intel/tools/decoder.h
index bbeaa0a..9a677be 100644
--- a/src/intel/tools/decoder.h
+++ b/src/intel/tools/decoder.h
@@ -55,6 +55,7 @@ struct gen_field_iterator {
    char value[128];
    const uint32_t *p;
    int i;
+   bool print_colors;
 };
 
 struct gen_group {
@@ -101,7 +102,9 @@ struct gen_field {
 };
 
 void gen_field_iterator_init(struct gen_field_iterator *iter,
-                             struct gen_group *group, const uint32_t *p);
+                             struct gen_group *group,
+                             const uint32_t *p,
+                             bool print_colors);
 
 bool gen_field_iterator_next(struct gen_field_iterator *iter);
 




More information about the mesa-commit mailing list