[Mesa-dev] [PATCH v4] clover: Introduce CLOVER_EXTRA_{COMPILER, LINKER}_OPTIONS
Serge Martin
edb+mesa at sigluy.net
Wed Sep 7 17:31:12 UTC 2016
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ć <vedran at miletic.net>
> Reviewed-by[v1]: Edward O'Callaghan <funfunctor at 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);
More information about the mesa-dev
mailing list