MCPcopy Create free account
hub / github.com/BabylonJS/BabylonNative / AddShader

Function AddShader

Plugins/NativeEngine/Source/ShaderCompilerMetal.cpp:12–26  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

10namespace glslang
11{
12 void AddShader(glslang::TProgram& program, glslang::TShader& shader, std::string_view source)
13 {
14 const std::array<const char*, 1> sources{source.data()};
15 shader.setStrings(sources.data(), gsl::narrow_cast<int>(sources.size()));
16 shader.setEnvInput(glslang::EShSourceGlsl, shader.getStage(), glslang::EShClientVulkan, 100);
17 shader.setEnvClient(glslang::EShClientVulkan, glslang::EShTargetVulkan_1_0);
18 shader.setEnvTarget(glslang::EShTargetSpv, glslang::EShTargetSpv_1_0);
19
20 if (!shader.parse(&Babylon::DefaultTBuiltInResource, 450, false, EShMsgDefault))
21 {
22 throw std::exception(); //shader.getInfoDebugLog());
23 }
24
25 program.addShader(&shader);
26 }
27
28 std::unique_ptr<spirv_cross::Compiler> CompileShader(glslang::TProgram& program, EShLanguage stage, std::string& shaderResult)
29 {

Callers 1

CompileMethod · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected