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

Function AddShader

Plugins/NativeEngine/Source/ShaderCompilerD3D.cpp:20–34  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

18 namespace
19 {
20 void AddShader(glslang::TProgram& program, glslang::TShader& shader, std::string_view source)
21 {
22 const std::array<const char*, 1> sources{source.data()};
23 shader.setStrings(sources.data(), gsl::narrow_cast<int>(sources.size()));
24 shader.setEnvInput(glslang::EShSourceGlsl, shader.getStage(), glslang::EShClientVulkan, 100);
25 shader.setEnvClient(glslang::EShClientVulkan, glslang::EShTargetVulkan_1_0);
26 shader.setEnvTarget(glslang::EShTargetSpv, glslang::EShTargetSpv_1_0);
27
28 if (!shader.parse(&DefaultTBuiltInResource, 450, false, EShMsgDefault))
29 {
30 throw std::exception(shader.getInfoDebugLog());
31 }
32
33 program.addShader(&shader);
34 }
35
36 std::unique_ptr<spirv_cross::Compiler> CompileShader(glslang::TProgram& program, EShLanguage stage, gsl::span<const spirv_cross::HLSLVertexAttributeRemap> attributes, ID3DBlob** blob)
37 {

Callers 1

CompileMethod · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected