Edit

kc3-lang/angle/util/shader_utils.h

Branch :

  • Show log

    Commit

  • Author : Olli Etuaho
    Date : 2017-09-18 13:32:29
    Hash : a20af6d7
    Message : Use C++11 raw string literals instead of SHADER_SOURCE macro This is better in many ways: 1. It doesn't confuse clang format 2. \n doesn't need to be included after preprocessor directives like the version directive. 3. It's using built-in functionality instead of something custom. Raw string literals should be the preferred way to include shader source in C++ files going forward. BUG=angleproject:2157 TEST=angle_end2end_tests Change-Id: I8b236a6e2d5c25d920297e5bc5b5b143eddeba1f Reviewed-on: https://chromium-review.googlesource.com/671046 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

  • util/shader_utils.h
  • //
    // 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 <export.h>
    #include <GLES3/gl31.h>
    #include <GLES3/gl3.h>
    #include <GLES2/gl2.h>
    #include <GLES2/gl2ext.h>
    #include <EGL/egl.h>
    #include <EGL/eglext.h>
    
    #include <string>
    #include <vector>
    
    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<std::string> &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);
    ANGLE_EXPORT bool LinkAttachedProgram(GLuint program);
    
    ANGLE_EXPORT GLuint LoadBinaryProgramOES(const std::vector<uint8_t> &binary, GLenum binaryFormat);
    ANGLE_EXPORT GLuint LoadBinaryProgramES3(const std::vector<uint8_t> &binary, GLenum binaryFormat);
    
    #endif // SAMPLE_UTIL_SHADER_UTILS_H