Vedran Miletić <[email protected]> writes: > The options specified in the CLOVER_EXTRA_BUILD_OPTIONS shell > variable are appended to the options specified by the OpenCL program > in the clBuildProgram function call, if any. > Analogously, the options specified in the CLOVER_EXTRA_COMPILE_OPTIONS > and CLOVER_EXTRA_LINK_OPTIONS variables are appended to the options > specified in clCompileProgram and clLinkProgram function calls, > respectively. > > 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 > > v5: > * fix documentation typo > * use CLOVER_EXTRA_COMPILER_OPTIONS in link stage > > v6: > * separate in CLOVER_EXTRA_{BUILD,COMPILE,LINK}_OPTIONS > * append options in cl{Build,Compile,Link}Program > > Signed-off-by: Vedran Miletić <[email protected]> > Reviewed-by[v1]: Edward O'Callaghan <[email protected]>
Thanks, pushed with a minor clean-up.
> ---
> docs/envvars.html | 15 +++++++++++++++
> src/gallium/state_trackers/clover/api/program.cpp | 15 +++++++++++----
> 2 files changed, 26 insertions(+), 4 deletions(-)
>
> diff --git a/docs/envvars.html b/docs/envvars.html
> index cf57ca5..af1a30c 100644
> --- a/docs/envvars.html
> +++ b/docs/envvars.html
> @@ -235,6 +235,21 @@ 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_BUILD_OPTIONS - allows specifying additional compiler and
> linker
> + options. Specified options are appended after the options set by the
> OpenCL
> + program in clBuildProgram.
> +<li>CLOVER_EXTRA_COMPILE_OPTIONS - allows specifying additional compiler
> + options. Specified options are appended after the options set by the
> OpenCL
> + program in clCompileProgram.
> +<li>CLOVER_EXTRA_LINK_OPTIONS - allows specifying additional linker
> + options. Specified options are appended after the options set by the
> OpenCL
> + program in clLinkProgram.
> +</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/api/program.cpp
> b/src/gallium/state_trackers/clover/api/program.cpp
> index c3f9cb9..e842e1f 100644
> --- a/src/gallium/state_trackers/clover/api/program.cpp
> +++ b/src/gallium/state_trackers/clover/api/program.cpp
> @@ -22,6 +22,7 @@
>
> #include "api/util.hpp"
> #include "core/program.hpp"
> +#include "util/u_debug.h"
>
> #include <sstream>
>
> @@ -181,9 +182,11 @@ clBuildProgram(cl_program d_prog, cl_uint num_devs,
>
> validate_build_common(prog, num_devs, d_devs, pfn_notify, user_data);
>
> + const std::string all_opts = std::string(opts) + " " +
> + debug_get_option("CLOVER_EXTRA_BUILD_OPTIONS",
> "");
> if (prog.has_source) {
> - prog.compile(devs, opts);
> - prog.link(devs, opts, { prog });
> + prog.compile(devs, all_opts);
> + prog.link(devs, all_opts, { prog });
> }
>
> return CL_SUCCESS;
> @@ -224,7 +227,9 @@ clCompileProgram(cl_program d_prog, cl_uint num_devs,
> range(header_names, num_headers),
> objs<allow_empty_tag>(d_header_progs, num_headers));
>
> - prog.compile(devs, opts, headers);
> + const std::string all_opts = std::string(opts) + " " +
> + debug_get_option("CLOVER_EXTRA_COMPILE_OPTIONS",
> "");
> + prog.compile(devs, all_opts, headers);
> return CL_SUCCESS;
>
> } catch (invalid_build_options_error &e) {
> @@ -280,8 +285,10 @@ clLinkProgram(cl_context d_ctx, cl_uint num_devs, const
> cl_device_id *d_devs,
>
> validate_build_common(prog, num_devs, d_devs, pfn_notify, user_data);
>
> + const std::string all_opts = std::string(opts) + " " +
> + debug_get_option("CLOVER_EXTRA_LINK_OPTIONS",
> "");
> try {
> - prog().link(devs, opts, progs);
> + prog().link(devs, all_opts, progs);
> ret_error(r_errcode, CL_SUCCESS);
>
> } catch (build_error &e) {
> --
> 2.7.4
signature.asc
Description: PGP signature
_______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
