Spaces:
Runtime error
Runtime error
// SPDX-License-Identifier: Apache-2.0 | |
std::vector<uint32_t> | |
compileSource(const std::string& source) | |
{ | |
std::ofstream fileOut("tmp_kp_shader.comp"); | |
fileOut << source; | |
fileOut.close(); | |
if (system( | |
std::string( | |
"glslangValidator -V tmp_kp_shader.comp -o tmp_kp_shader.comp.spv") | |
.c_str())) { | |
throw std::runtime_error("Error running glslangValidator command"); | |
} | |
std::ifstream fileStream("tmp_kp_shader.comp.spv", std::ios::binary); | |
std::vector<char> buffer; | |
buffer.insert( | |
buffer.begin(), std::istreambuf_iterator<char>(fileStream), {}); | |
return { reinterpret_cast<uint32_t*>(buffer.data()), | |
reinterpret_cast<uint32_t*>(buffer.data() + buffer.size()) }; | |
} | |