1 // 2 // Copyright (c) 2019 The ANGLE Project Authors. All rights reserved. 3 // Use of this source code is governed by a BSD-style license that can be 4 // found in the LICENSE file. 5 // 6 // GlslangUtils: Wrapper for Khronos's glslang compiler. 7 // 8 9 #ifndef LIBANGLE_RENDERER_METAL_GLSLANGWRAPPER_H_ 10 #define LIBANGLE_RENDERER_METAL_GLSLANGWRAPPER_H_ 11 12 #include "libANGLE/Caps.h" 13 #include "libANGLE/Context.h" 14 #include "libANGLE/renderer/ProgramImpl.h" 15 #include "libANGLE/renderer/glslang_wrapper_utils.h" 16 #include "libANGLE/renderer/metal/mtl_common.h" 17 18 namespace rx 19 { 20 namespace mtl 21 { 22 void GlslangGetShaderSource(const gl::ProgramState &programState, 23 const gl::ProgramLinkedResources &resources, 24 gl::ShaderMap<std::string> *shaderSourcesOut, 25 ShaderMapInterfaceVariableInfoMap *variableInfoMapOut); 26 27 angle::Result GlslangGetShaderSpirvCode(ErrorHandler *context, 28 const gl::Caps &glCaps, 29 const gl::ShaderMap<std::string> &shaderSources, 30 const ShaderMapInterfaceVariableInfoMap &variableInfoMap, 31 gl::ShaderMap<std::vector<uint32_t>> *shaderCodeOut); 32 } // namespace mtl 33 } // namespace rx 34 35 #endif /* LIBANGLE_RENDERER_METAL_GLSLANGWRAPPER_H_ */ 36