On Wednesday 07 September 2016 19:17:39 Vedran Miletić wrote: > The options specified in the CLOVER_EXTRA_COMPILER_OPTIONS shell > variable are appended to the compiler options specified by the OpenCL > program, if any. > Analogously, the options specified in the CLOVER_EXTRA_LINKER_OPTIONS > variable are appended to the linker options. > > v2: > * rename to CLOVER_EXTRA_COMPILER_OPTIONS > * use debug_get_option > * append to linker options as well > > v3: code cleanups > > v4: separate CLOVER_EXTRA_LINKER_OPTIONS options > > Signed-off-by: Vedran Miletić <ved...@miletic.net> > Reviewed-by[v1]: Edward O'Callaghan <funfunc...@folklore1984.net> > --- > docs/envvars.html | 12 ++++++++++++ > src/gallium/state_trackers/clover/llvm/invocation.cpp | 10 +++++++--- > 2 files changed, 19 insertions(+), 3 deletions(-) > > diff --git a/docs/envvars.html b/docs/envvars.html > index 6d79398..12f232e 100644 > --- a/docs/envvars.html > +++ b/docs/envvars.html > @@ -233,6 +233,18 @@ Setting to "tgsi", for example, will print all the TGSI > shaders. See src/mesa/state_tracker/st_debug.c for other options. > </ul> > > +<h3>Clover state tracker environment variables</h3> > + > +<ul> > +<li>CLOVER_EXTRA_COMPILER_OPTIONS - allows specifying additional compiler > + options. Specified options are appended after the options set by the > OpenCL + program. > +<li>CLOVER_EXTRA_COMPILER_OPTIONS - allows specifying additional linker
CLOVER_EXTRA_LINKER_OPTIONS > + options. Specified options are appended after the options set by the > OpenCL + linker. > +</ul> > + > + > <h3>Softpipe driver environment variables</h3> > <ul> > <li>SOFTPIPE_DUMP_FS - if set, the softpipe driver will print fragment > shaders diff --git a/src/gallium/state_trackers/clover/llvm/invocation.cpp > b/src/gallium/state_trackers/clover/llvm/invocation.cpp index > 5490d72..0336715 100644 > --- a/src/gallium/state_trackers/clover/llvm/invocation.cpp > +++ b/src/gallium/state_trackers/clover/llvm/invocation.cpp > @@ -196,11 +196,13 @@ clover::llvm::compile_program(const std::string > &source, const std::string &target, > const std::string &opts, > std::string &r_log) { > + const std::string all_opts = opts + " " + > + debug_get_option("CLOVER_EXTRA_COMPILER_OPTIONS", > ""); if (has_flag(debug::clc)) > - debug::log(".cl", "// Options: " + opts + '\n' + source); > + debug::log(".cl", "// Options: " + all_opts + '\n' + source); > > auto ctx = create_context(r_log); > - auto c = create_compiler_instance(target, tokenize(opts + " input.cl"), > + auto c = create_compiler_instance(target, tokenize(all_opts + " > input.cl"), r_log); > auto mod = compile(*ctx, *c, "input.cl", source, headers, target, opts, > r_log); > @@ -263,7 +265,9 @@ module > clover::llvm::link_program(const std::vector<module> &modules, > enum pipe_shader_ir ir, const std::string > &target, const std::string &opts, std::string &r_log) { - > std::vector<std::string> options = tokenize(opts + " input.cl"); + const > std::string all_opts = opts + " " + > + debug_get_option("CLOVER_EXTRA_LINKER_OPTIONS", > ""); + std::vector<std::string> options = tokenize(all_opts + " > input.cl"); const bool create_library = count("-create-library", options); > erase_if(equals("-create-library"), options); _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev