diff options
author | Timothy Arceri <[email protected]> | 2019-02-22 11:51:24 +1100 |
---|---|---|
committer | Timothy Arceri <[email protected]> | 2019-03-06 23:05:20 +0000 |
commit | 7530d4abfcf9d39fb1b4abeb77cdbf6cf1d411a7 (patch) | |
tree | f7dec5de299bcb431672f3a7c9209bc871b328a2 /src | |
parent | 15b83b3af972fe32de4b1730ef6aff110e5da49a (diff) |
glsl/freedreno/panfrost: pass gl_context to the standalone compiler
This allows us to use the ctx with glsl_to_nir() in a following
patch.
Reviewed-by: Eric Anholt <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/compiler/glsl/main.cpp | 5 | ||||
-rw-r--r-- | src/compiler/glsl/standalone.cpp | 4 | ||||
-rw-r--r-- | src/compiler/glsl/standalone.h | 3 | ||||
-rw-r--r-- | src/gallium/drivers/freedreno/ir3/ir3_cmdline.c | 3 | ||||
-rw-r--r-- | src/gallium/drivers/panfrost/midgard/cmdline.c | 8 |
5 files changed, 15 insertions, 8 deletions
diff --git a/src/compiler/glsl/main.cpp b/src/compiler/glsl/main.cpp index a730c033917..2ff561e011d 100644 --- a/src/compiler/glsl/main.cpp +++ b/src/compiler/glsl/main.cpp @@ -34,6 +34,7 @@ * offline compile GLSL code and examine the resulting GLSL IR. */ +#include "main/mtypes.h" #include "standalone.h" static struct standalone_options options; @@ -91,8 +92,10 @@ main(int argc, char * const* argv) usage_fail(argv[0]); struct gl_shader_program *whole_program; + static struct gl_context local_ctx; - whole_program = standalone_compile_shader(&options, argc - optind, &argv[optind]); + whole_program = standalone_compile_shader(&options, argc - optind, + &argv[optind], &local_ctx); if (!whole_program) usage_fail(argv[0]); diff --git a/src/compiler/glsl/standalone.cpp b/src/compiler/glsl/standalone.cpp index add4e4ea478..06869a0b3dc 100644 --- a/src/compiler/glsl/standalone.cpp +++ b/src/compiler/glsl/standalone.cpp @@ -400,11 +400,9 @@ compile_shader(struct gl_context *ctx, struct gl_shader *shader) extern "C" struct gl_shader_program * standalone_compile_shader(const struct standalone_options *_options, - unsigned num_files, char* const* files) + unsigned num_files, char* const* files, struct gl_context *ctx) { int status = EXIT_SUCCESS; - static struct gl_context local_ctx; - struct gl_context *ctx = &local_ctx; bool glsl_es = false; options = _options; diff --git a/src/compiler/glsl/standalone.h b/src/compiler/glsl/standalone.h index 5029e168119..d9e14f798a3 100644 --- a/src/compiler/glsl/standalone.h +++ b/src/compiler/glsl/standalone.h @@ -42,7 +42,8 @@ struct gl_shader_program; struct gl_shader_program * standalone_compile_shader( const struct standalone_options *options, - unsigned num_files, char* const* files); + unsigned num_files, char* const* files, + struct gl_context *ctx); void standalone_compiler_cleanup(struct gl_shader_program *prog); diff --git a/src/gallium/drivers/freedreno/ir3/ir3_cmdline.c b/src/gallium/drivers/freedreno/ir3/ir3_cmdline.c index 872bcb28469..0850618bc3d 100644 --- a/src/gallium/drivers/freedreno/ir3/ir3_cmdline.c +++ b/src/gallium/drivers/freedreno/ir3/ir3_cmdline.c @@ -110,8 +110,9 @@ load_glsl(unsigned num_files, char* const* files, gl_shader_stage stage) struct gl_shader_program *prog; const nir_shader_compiler_options *nir_options = ir3_get_compiler_options(compiler); + static struct gl_context local_ctx; - prog = standalone_compile_shader(&options, num_files, files); + prog = standalone_compile_shader(&options, num_files, files, &local_ctx); if (!prog) errx(1, "couldn't parse `%s'", files[0]); diff --git a/src/gallium/drivers/panfrost/midgard/cmdline.c b/src/gallium/drivers/panfrost/midgard/cmdline.c index 1aa0323bb0d..7326402dd09 100644 --- a/src/gallium/drivers/panfrost/midgard/cmdline.c +++ b/src/gallium/drivers/panfrost/midgard/cmdline.c @@ -53,7 +53,9 @@ compile_shader(char **argv) .do_link = true, }; - prog = standalone_compile_shader(&options, 2, argv); + static struct gl_context local_ctx; + + prog = standalone_compile_shader(&options, 2, argv, &local_ctx); prog->_LinkedShaders[MESA_SHADER_FRAGMENT]->Program->info.stage = MESA_SHADER_FRAGMENT; for (unsigned i = 0; i < MESA_SHADER_STAGES; ++i) { @@ -83,7 +85,9 @@ compile_blend(char **argv) .glsl_version = 140, }; - prog = standalone_compile_shader(&options, 1, argv); + static struct gl_context local_ctx; + + prog = standalone_compile_shader(&options, 1, argv, &local_ctx); prog->_LinkedShaders[MESA_SHADER_FRAGMENT]->Program->info.stage = MESA_SHADER_FRAGMENT; midgard_program program; |