pan/bifrost: Link in compiler
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Wed, 14 Aug 2019 19:48:04 +0000 (12:48 -0700)
committerAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Wed, 14 Aug 2019 22:54:07 +0000 (22:54 +0000)
We enable the standalone compiler, build the new files, and let it
blast.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
src/panfrost/bifrost/cmdline.c
src/panfrost/bifrost/meson.build

index 1abd932530b736edf25bc60d3a3901e0c4ecd507..16415bbd755cee4c25e21fcf55baf78fff2525fd 100644 (file)
@@ -52,7 +52,6 @@ compile_shader(char **argv)
         prog = standalone_compile_shader(&options, 2, argv, &local_ctx);
         prog->_LinkedShaders[MESA_SHADER_FRAGMENT]->Program->info.stage = MESA_SHADER_FRAGMENT;
 
-#if 0
         struct bifrost_program compiled;
         for (unsigned i = 0; i < 2; ++i) {
                 nir[i] = glsl_to_nir(&local_ctx, prog, shader_types[i], &bifrost_nir_options);
@@ -69,7 +68,6 @@ compile_shader(char **argv)
                 NIR_PASS_V(nir[i], nir_opt_constant_folding);
                 bifrost_compile_shader_nir(nir[i], &compiled);
         }
-#endif
 }
 
 static void
@@ -100,10 +98,13 @@ main(int argc, char **argv)
                 printf("Pass a command\n");
                 exit(1);
         }
-        if (strcmp(argv[1], "compile") == 0) {
+
+        if (strcmp(argv[1], "compile") == 0)
                 compile_shader(&argv[2]);
-        } else if (strcmp(argv[1], "disasm") == 0) {
+        else if (strcmp(argv[1], "disasm") == 0)
                 disassemble(argv[2]);
-        }
+        else
+                unreachable("Unknown command. Valid: compile/disasm");
+
         return 0;
 }
index 1258cd04caf39f6abc4d2cf71a077b30286d46e1..b49170a35ff76b1d9215eaf7d37373df77e847cf 100644 (file)
 # SOFTWARE.
 
 libpanfrost_bifrost_files = files(
+  'bifrost_compile.c',
+  'bifrost_opts.c',
+  'bifrost_sched.c',
+  'bifrost_print.c',
   'disassemble.c',
 )
 
 libpanfrost_bifrost = static_library(
   'panfrost_bifrost',
   [libpanfrost_bifrost_files],
-  include_directories : [inc_common],
+  include_directories : [inc_common, inc_include, inc_src],
+  dependencies: [idep_nir],
   c_args : [c_vis_args, no_override_init_args],
   cpp_args : [cpp_vis_args],
   build_by_default : false,