Vedran Miletić <ved...@miletic.net> 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ć <ved...@miletic.net> > Reviewed-by[v1]: Edward O'Callaghan <funfunc...@folklore1984.net>
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 mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev