Reviewed-by: Karol Herbst <[email protected]>
On Thu, Mar 8, 2018 at 1:21 AM, Pierre Moreau <[email protected]> wrote: > Signed-off-by: Pierre Moreau <[email protected]> > --- > src/gallium/state_trackers/clover/Makefile.am | 11 +- > src/gallium/state_trackers/clover/Makefile.sources | 4 - > src/gallium/state_trackers/clover/core/program.cpp | 13 +-- > src/gallium/state_trackers/clover/meson.build | 9 +- > .../state_trackers/clover/tgsi/compiler.cpp | 120 > --------------------- > .../state_trackers/clover/tgsi/invocation.hpp | 37 ------- > 6 files changed, 8 insertions(+), 186 deletions(-) > delete mode 100644 src/gallium/state_trackers/clover/tgsi/compiler.cpp > delete mode 100644 src/gallium/state_trackers/clover/tgsi/invocation.hpp > > diff --git a/src/gallium/state_trackers/clover/Makefile.am > b/src/gallium/state_trackers/clover/Makefile.am > index a7befb4605..35ee092f3f 100644 > --- a/src/gallium/state_trackers/clover/Makefile.am > +++ b/src/gallium/state_trackers/clover/Makefile.am > @@ -28,14 +28,7 @@ cl_HEADERS = \ > $(top_srcdir)/include/CL/opencl.h > endif > > -noinst_LTLIBRARIES = libclover.la libcltgsi.la libclllvm.la > - > -libcltgsi_la_CXXFLAGS = \ > - $(CXX11_CXXFLAGS) \ > - $(CLOVER_STD_OVERRIDE) \ > - $(VISIBILITY_CXXFLAGS) > - > -libcltgsi_la_SOURCES = $(TGSI_SOURCES) > +noinst_LTLIBRARIES = libclover.la libclllvm.la > > libclllvm_la_CXXFLAGS = \ > $(CXX11_CXXFLAGS) \ > @@ -56,7 +49,7 @@ libclover_la_CXXFLAGS = \ > $(VISIBILITY_CXXFLAGS) > > libclover_la_LIBADD = \ > - libcltgsi.la libclllvm.la > + libclllvm.la > > libclover_la_SOURCES = $(CPP_SOURCES) > > diff --git a/src/gallium/state_trackers/clover/Makefile.sources > b/src/gallium/state_trackers/clover/Makefile.sources > index e9828b107b..5167ca75af 100644 > --- a/src/gallium/state_trackers/clover/Makefile.sources > +++ b/src/gallium/state_trackers/clover/Makefile.sources > @@ -62,7 +62,3 @@ LLVM_SOURCES := \ > llvm/invocation.hpp \ > llvm/metadata.hpp \ > llvm/util.hpp > - > -TGSI_SOURCES := \ > - tgsi/compiler.cpp \ > - tgsi/invocation.hpp > diff --git a/src/gallium/state_trackers/clover/core/program.cpp > b/src/gallium/state_trackers/clover/core/program.cpp > index 4e74fccd97..ec71d99b01 100644 > --- a/src/gallium/state_trackers/clover/core/program.cpp > +++ b/src/gallium/state_trackers/clover/core/program.cpp > @@ -22,7 +22,6 @@ > > #include "core/program.hpp" > #include "llvm/invocation.hpp" > -#include "tgsi/invocation.hpp" > > using namespace clover; > > @@ -51,10 +50,9 @@ program::compile(const ref_vector<device> &devs, const > std::string &opts, > std::string log; > > try { > - const module m = (dev.ir_format() == PIPE_SHADER_IR_TGSI ? > - tgsi::compile_program(_source, log) : > - llvm::compile_program(_source, headers, dev, > - opts, log)); > + assert(dev.ir_format() == PIPE_SHADER_IR_NATIVE); > + const module m = llvm::compile_program(_source, headers, dev, > opts, > + log); > _builds[&dev] = { m, opts, log }; > } catch (...) { > _builds[&dev] = { module(), opts, log }; > @@ -76,9 +74,8 @@ program::link(const ref_vector<device> &devs, const > std::string &opts, > std::string log = _builds[&dev].log; > > try { > - const module m = (dev.ir_format() == PIPE_SHADER_IR_TGSI ? > - tgsi::link_program(ms) : > - llvm::link_program(ms, dev, opts, log)); > + assert(dev.ir_format() == PIPE_SHADER_IR_NATIVE); > + const module m = llvm::link_program(ms, dev, opts, log); > _builds[&dev] = { m, opts, log }; > } catch (...) { > _builds[&dev] = { module(), opts, log }; > diff --git a/src/gallium/state_trackers/clover/meson.build > b/src/gallium/state_trackers/clover/meson.build > index d1497e657e..c52f0faa40 100644 > --- a/src/gallium/state_trackers/clover/meson.build > +++ b/src/gallium/state_trackers/clover/meson.build > @@ -25,13 +25,6 @@ if with_opencl_icd > clover_cpp_args += '-DHAVE_CLOVER_ICD' > endif > > -libcltgsi = static_library( > - 'cltgsi', > - files('tgsi/compiler.cpp', 'tgsi/invocation.hpp'), > - include_directories : clover_incs, > - cpp_args : [cpp_vis_args], > -) > - > libclllvm = static_library( > 'clllvm', > files( > @@ -118,5 +111,5 @@ libclover = static_library( > clover_files, > include_directories : clover_incs, > cpp_args : [clover_cpp_args, cpp_vis_args], > - link_with : [libcltgsi, libclllvm], > + link_with : [libclllvm], > ) > diff --git a/src/gallium/state_trackers/clover/tgsi/compiler.cpp > b/src/gallium/state_trackers/clover/tgsi/compiler.cpp > deleted file mode 100644 > index e165311fa4..0000000000 > --- a/src/gallium/state_trackers/clover/tgsi/compiler.cpp > +++ /dev/null > @@ -1,120 +0,0 @@ > -// > -// Copyright 2012 Francisco Jerez > -// > -// Permission is hereby granted, free of charge, to any person obtaining a > -// copy of this software and associated documentation files (the "Software"), > -// to deal in the Software without restriction, including without limitation > -// the rights to use, copy, modify, merge, publish, distribute, sublicense, > -// and/or sell copies of the Software, and to permit persons to whom the > -// Software is furnished to do so, subject to the following conditions: > -// > -// The above copyright notice and this permission notice shall be included in > -// all copies or substantial portions of the Software. > -// > -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR > -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, > -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL > -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR > -// OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, > -// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR > -// OTHER DEALINGS IN THE SOFTWARE. > -// > - > -#include <sstream> > - > -#include "tgsi/invocation.hpp" > -#include "core/error.hpp" > - > -#include "tgsi/tgsi_parse.h" > -#include "tgsi/tgsi_text.h" > -#include "util/u_memory.h" > - > -using namespace clover; > - > -namespace { > - void > - read_header(const std::string &header, module &m, std::string &r_log) { > - std::istringstream ls(header); > - std::string line; > - > - while (getline(ls, line)) { > - std::istringstream ts(line); > - std::string name, tok; > - module::size_t offset; > - std::vector<module::argument> args; > - > - if (!(ts >> name)) > - continue; > - > - if (!(ts >> offset)) { > - r_log = "invalid kernel start address"; > - throw build_error(); > - } > - > - while (ts >> tok) { > - if (tok == "scalar") > - args.push_back({ module::argument::scalar, 4 }); > - else if (tok == "global") > - args.push_back({ module::argument::global, 4 }); > - else if (tok == "local") > - args.push_back({ module::argument::local, 4 }); > - else if (tok == "constant") > - args.push_back({ module::argument::constant, 4 }); > - else if (tok == "image2d_rd") > - args.push_back({ module::argument::image2d_rd, 4 }); > - else if (tok == "image2d_wr") > - args.push_back({ module::argument::image2d_wr, 4 }); > - else if (tok == "image3d_rd") > - args.push_back({ module::argument::image3d_rd, 4 }); > - else if (tok == "image3d_wr") > - args.push_back({ module::argument::image3d_wr, 4 }); > - else if (tok == "sampler") > - args.push_back({ module::argument::sampler, 0 }); > - else { > - r_log = "invalid kernel argument"; > - throw build_error(); > - } > - } > - > - m.syms.push_back({ name, 0, offset, args }); > - } > - } > - > - void > - read_body(const char *source, module &m, std::string &r_log) { > - tgsi_token prog[1024]; > - > - if (!tgsi_text_translate(source, prog, ARRAY_SIZE(prog))) { > - r_log = "translate failed"; > - throw build_error(); > - } > - > - unsigned sz = tgsi_num_tokens(prog) * sizeof(tgsi_token); > - std::vector<char> data( (char *)prog, (char *)prog + sz ); > - m.secs.push_back({ 0, module::section::text_executable, sz, data }); > - } > -} > - > -module > -clover::tgsi::compile_program(const std::string &source, std::string &r_log) > { > - const size_t body_pos = source.find("COMP\n"); > - if (body_pos == std::string::npos) { > - r_log = "invalid source"; > - throw build_error(); > - } > - > - const char *body = &source[body_pos]; > - module m; > - > - read_header({ source.begin(), source.begin() + body_pos }, m, r_log); > - read_body(body, m, r_log); > - > - return m; > -} > - > -module > -clover::tgsi::link_program(const std::vector<module> &modules) > -{ > - assert(modules.size() == 1 && "Not implemented"); > - return modules[0]; > -} > diff --git a/src/gallium/state_trackers/clover/tgsi/invocation.hpp > b/src/gallium/state_trackers/clover/tgsi/invocation.hpp > deleted file mode 100644 > index ae08461b01..0000000000 > --- a/src/gallium/state_trackers/clover/tgsi/invocation.hpp > +++ /dev/null > @@ -1,37 +0,0 @@ > -// > -// Copyright 2016 Francisco Jerez > -// > -// Permission is hereby granted, free of charge, to any person obtaining a > -// copy of this software and associated documentation files (the "Software"), > -// to deal in the Software without restriction, including without limitation > -// the rights to use, copy, modify, merge, publish, distribute, sublicense, > -// and/or sell copies of the Software, and to permit persons to whom the > -// Software is furnished to do so, subject to the following conditions: > -// > -// The above copyright notice and this permission notice shall be included in > -// all copies or substantial portions of the Software. > -// > -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR > -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, > -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL > -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR > -// OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, > -// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR > -// OTHER DEALINGS IN THE SOFTWARE. > -// > - > -#ifndef CLOVER_TGSI_INVOCATION_HPP > -#define CLOVER_TGSI_INVOCATION_HPP > - > -#include "core/module.hpp" > - > -namespace clover { > - namespace tgsi { > - module compile_program(const std::string &source, > - std::string &r_log); > - > - module link_program(const std::vector<module> &modules); > - } > -} > - > -#endif > -- > 2.16.2 > _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
