freedreno/ir3: add --gpu arg to cmdline compiler
authorRob Clark <robclark@freedesktop.org>
Wed, 16 Sep 2015 17:57:26 +0000 (13:57 -0400)
committerRob Clark <robclark@freedesktop.org>
Thu, 17 Sep 2015 23:57:52 +0000 (19:57 -0400)
Signed-off-by: Rob Clark <robclark@freedesktop.org>
src/gallium/drivers/freedreno/ir3/ir3_cmdline.c

index cbf748a00dfc21317c94ac419fcea00515ac343d..e768e6133a8be8bb7788a8a7c96bb17fc6e60b68 100644 (file)
@@ -95,6 +95,7 @@ static void print_usage(void)
        printf("    --saturate-r MASK - bitmask of samplers to saturate R coord\n");
        printf("    --stream-out      - enable stream-out (aka transform feedback)\n");
        printf("    --ucp MASK        - bitmask of enabled user-clip-planes\n");
+       printf("    --gpu GPU_ID      - specify gpu-id (default 320)\n");
        printf("    --help            - show this message\n");
 }
 
@@ -108,6 +109,7 @@ int main(int argc, char **argv)
        struct ir3_shader_variant v;
        struct ir3_shader s;
        struct ir3_shader_key key = {};
+       unsigned gpu_id = 320;
        const char *info;
        void *ptr;
        size_t size;
@@ -198,6 +200,13 @@ int main(int argc, char **argv)
                        continue;
                }
 
+               if (!strcmp(argv[n], "--gpu")) {
+                       debug_printf(" %s %s", argv[n], argv[n+1]);
+                       gpu_id = strtol(argv[n+1], NULL, 0);
+                       n += 2;
+                       continue;
+               }
+
                if (!strcmp(argv[n], "--help")) {
                        print_usage();
                        return 0;
@@ -240,7 +249,7 @@ int main(int argc, char **argv)
        }
 
        /* TODO cmdline option to target different gpus: */
-       compiler = ir3_compiler_create(320);
+       compiler = ir3_compiler_create(gpu_id);
 
        info = "NIR compiler";
        ret = ir3_compile_shader_nir(compiler, &v);