// // Copyright (c) 2014 The ANGLE Project Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // #ifndef SAMPLE_UTIL_SHADER_UTILS_H #define SAMPLE_UTIL_SHADER_UTILS_H #include #include #include #include #include #include #include #include #include #define SHADER_SOURCE(...) #__VA_ARGS__ ANGLE_EXPORT GLuint CompileShader(GLenum type, const std::string &source); ANGLE_EXPORT GLuint CompileShaderFromFile(GLenum type, const std::string &sourcePath); ANGLE_EXPORT GLuint CompileProgramWithTransformFeedback(const std::string &vsSource, const std::string &fsSource, const std::vector &transformFeedbackVaryings, GLenum bufferMode); ANGLE_EXPORT GLuint CompileProgram(const std::string &vsSource, const std::string &fsSource); ANGLE_EXPORT GLuint CompileProgramFromFiles(const std::string &vsPath, const std::string &fsPath); ANGLE_EXPORT GLuint CompileComputeProgram(const std::string &csSource, bool outputErrorMessages = true); #endif // SAMPLE_UTIL_SHADER_UTILS_H