>-----Original Message----- >From: mesa-dev [mailto:mesa-dev-boun...@lists.freedesktop.org] On Behalf Of >Lionel Landwerlin >Sent: Monday, October 17, 2016 1:57 PM >To: mesa-dev@lists.freedesktop.org >Cc: Landwerlin, Lionel G <lionel.g.landwer...@intel.com> >Subject: [Mesa-dev] [PATCH 3/3] intel: aubinator: print field values if >available > >Turning this : > >sampler state 0 > Sampler Disable: false > Texture Border Color Mode: 0 > LOD PreClamp Enable: 1 > Base Mip Level: 0.000000 > Mip Mode Filter: 0 > Mag Mode Filter: 1 > Min Mode Filter: 1 > Texture LOD Bias: foo > Anisotropic Algorithm: 0 > >into this : > >sampler state 0 > Sampler Disable: false > Texture Border Color Mode: 0 (DX10/OGL) > LOD PreClamp Enable: 1 (OGL) > Base Mip Level: 0.000000 > Mip Mode Filter: 0 (NONE) > Mag Mode Filter: 1 (LINEAR) > Min Mode Filter: 1 (LINEAR) > Texture LOD Bias: foo > Anisotropic Algorithm: 0 (LEGACY) > >Signed-off-by: Lionel Landwerlin <lionel.g.landwer...@intel.com> >--- > src/intel/tools/aubinator.c | 7 ++++++- > src/intel/tools/decoder.c | 31 +++++++++++++++++++++++++++---- > src/intel/tools/decoder.h | 1 + > 3 files changed, 34 insertions(+), 5 deletions(-) > >diff --git a/src/intel/tools/aubinator.c b/src/intel/tools/aubinator.c index >01941b2..44de6f4 100644 >--- a/src/intel/tools/aubinator.c >+++ b/src/intel/tools/aubinator.c >@@ -111,7 +111,12 @@ print_iterator_values(struct gen_field_iterator *iter, int >*idx) { > char *token = NULL; > if (strstr(iter->value, "struct") == NULL) { >- printf(" %s: %s\n", iter->name, iter->value); >+ if (strlen(iter->description) > 0) { >+ printf(" %s: %s (%s)\n", >+ iter->name, iter->value, iter->description); >+ } else { >+ printf(" %s: %s\n", iter->name, iter->value); >+ } > } else { > token = strtok(iter->value, " "); > if (token != NULL) { >diff --git a/src/intel/tools/decoder.c b/src/intel/tools/decoder.c index >88ba5c0..361c9c5 100644 >--- a/src/intel/tools/decoder.c >+++ b/src/intel/tools/decoder.c >@@ -635,6 +635,19 @@ gen_field_iterator_init(struct gen_field_iterator *iter, > iter->print_colors = print_colors; > } > >+static void >+gen_field_write_value(char *str, size_t max_length, >+ struct gen_field *field, >+ uint64_t value) >+{ >+ for (int i = 0; i < field->n_values; i++) { >+ if (field->values[i]->value == value) { >+ snprintf(str, max_length, field->values[i]->name);
[SG] snprintf() throws compiler warning: decoder.c:645:10: warning: format not a string literal and no format arguments [-Wformat-security] >+ return; >+ } >+ } >+} >+ > bool > gen_field_iterator_next(struct gen_field_iterator *iter) { @@ -656,16 +669,26 >@@ gen_field_iterator_next(struct gen_field_iterator *iter) > else > v.qw = iter->p[index]; > >+ iter->description[0] = '\0'; >+ > switch (f->type.kind) { > case GEN_TYPE_UNKNOWN: >- case GEN_TYPE_INT: >+ case GEN_TYPE_INT: { >+ uint64_t value = field(v.qw, f->start, f->end); > snprintf(iter->value, sizeof(iter->value), >- "%"PRId64, field(v.qw, f->start, f->end)); >+ "%"PRId64, value); >+ gen_field_write_value(iter->description, sizeof(iter->description), >+ f, value); > break; >- case GEN_TYPE_UINT: >+ } >+ case GEN_TYPE_UINT: { >+ uint64_t value = field(v.qw, f->start, f->end); > snprintf(iter->value, sizeof(iter->value), >- "%"PRIu64, field(v.qw, f->start, f->end)); >+ "%"PRIu64, value); >+ gen_field_write_value(iter->description, sizeof(iter->description), >+ f, value); > break; >+ } > case GEN_TYPE_BOOL: { > const char *true_string = > iter->print_colors ? "\e[0;35mtrue\e[0m" : "true"; diff --git >a/src/intel/tools/decoder.h b/src/intel/tools/decoder.h index ecc9ff1..b28e603 >100644 >--- a/src/intel/tools/decoder.h >+++ b/src/intel/tools/decoder.h >@@ -53,6 +53,7 @@ struct gen_field_iterator { > struct gen_group *group; > const char *name; > char value[128]; >+ char description[128]; > const uint32_t *p; > int i; > bool print_colors; >-- >2.9.3 > [SG] Feature works for me - but would prefer fixing of the above warning Reviewed-by: Sirisha Gandikota <sirisha.gandik...@intel.com> >_______________________________________________ >mesa-dev mailing list >mesa-dev@lists.freedesktop.org >https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev