diff --git a/python/src/main.cpp b/python/src/main.cpp index b79ca3e9a..978a35943 100644 --- a/python/src/main.cpp +++ b/python/src/main.cpp @@ -40,7 +40,17 @@ PYBIND11_MODULE(kp, m) { return py::bytes((const char*)spirv.data(), spirv.size() * sizeof(uint32_t)); }, "Compiles string source provided and returns the value in bytes", - py::arg("source"), py::arg("entryPoint") = "main", py::arg("definitions") = std::vector>() ); + py::arg("source"), py::arg("entryPoint") = "main", py::arg("definitions") = std::vector>() ) + .def_static("compile_sources", []( + const std::vector& source, + const std::vector& files, + const std::string& entryPoint, + const std::vector>& definitions) { + std::vector spirv = kp::Shader::compile_sources(source, files, entryPoint, definitions); + return py::bytes((const char*)spirv.data(), spirv.size() * sizeof(uint32_t)); + }, + "Compiles sources provided with file names and returns the value in bytes", + py::arg("sources"), py::arg("files") = std::vector(), py::arg("entryPoint") = "main", py::arg("definitions") = std::vector>() ); py::class_>(m, "Tensor", DOC(kp, Tensor)) .def(py::init(