-p option now takes hex format pci-id of target architecture. Signed-off-by: Dongwon Kim <dongwon....@intel.com> --- run.c | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-)
diff --git a/run.c b/run.c index 69e64c7..3db97ec 100644 --- a/run.c +++ b/run.c @@ -356,7 +356,8 @@ const struct platform platforms[] = { void print_usage(const char *prog_name) { fprintf(stderr, - "Usage: %s [-d <device>] [-j <max_threads>] [-o <driver>] [-p <platform>] <directories and *.shader_test files>\n", + "Usage: %s [-d <device>] [-j <max_threads>] [-o <driver>] [-p <platform name "\ + "or pci-id in hex format(e.g. 0x1234)>] <directories and *.shader_test files>\n", prog_name); } @@ -456,6 +457,7 @@ main(int argc, char **argv) break; case 'p': { const struct platform *platform = NULL; + for (unsigned i = 0; i < ARRAY_SIZE(platforms); i++) { if (strcasecmp(optarg, platforms[i].name) == 0) { platform = platforms + i; @@ -463,17 +465,30 @@ main(int argc, char **argv) } } - if (platform == NULL) { - fprintf(stderr, "Invalid platform.\nValid platforms are:"); - for (unsigned i = 0; i < ARRAY_SIZE(platforms); i++) - fprintf(stderr, " %s", platforms[i].name); - fprintf(stderr, "\n"); - return -1; + if (platform) { + printf("### Compiling for %s(PCI_ID=%s) ###\n", platform->name, + platform->pci_id); + setenv("INTEL_DEVID_OVERRIDE", platform->pci_id, 1); + break; } - printf("### Compiling for %s ###\n", platform->name); - setenv("INTEL_DEVID_OVERRIDE", platform->pci_id, 1); - break; + if (optarg[0] == '0' && optarg[1] == 'x') { + /* check if rest of given string indicates hex number */ + if (strtol(optarg, NULL, 16) > 0) { + setenv("INTEL_DEVID_OVERRIDE", optarg, 1); + printf("### Compiling for GEN arch with PCI_ID=%s ###\n", + optarg); + break; + } + } + + fprintf(stderr, "Invalid platform.\nValid platforms are:"); + for (unsigned i = 0; i < ARRAY_SIZE(platforms); i++) + fprintf(stderr, " %s", platforms[i].name); + + fprintf(stderr, "\n"); + fprintf(stderr, "Or\nPCI-ID of other supported platform.\n"); + return -1; } case 'j': max_threads = atoi(optarg); -- 2.16.2 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev