Edit

kc3-lang/angle/src/compiler/translator/CollectVariables.h

Branch :

  • Show log

    Commit

  • Author : Jamie Madill
    Date : 2021-01-18 15:51:42
    Hash : e670fc72
    Message : Implement shader compiler changes for Tessellation. Numerous rule changes to support validating Tessellation Control and Evaluation shaders. New per-patch inputs and output variable support. Includes a new traverser step that validates barrier function calls. Functionality changes upcoming in http://crrev.com/c/2568234 Bug: angleproject:3572 Change-Id: If8da1c21d30efa12c60ed0d6c3f8cf0b27e4c86f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2633936 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Mohan Maiya <m.maiya@samsung.com>

  • src/compiler/translator/CollectVariables.h
  • //
    // Copyright 2002 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.
    //
    // CollectVariables.h: Collect lists of shader interface variables based on the AST.
    
    #ifndef COMPILER_TRANSLATOR_COLLECTVARIABLES_H_
    #define COMPILER_TRANSLATOR_COLLECTVARIABLES_H_
    
    #include <GLSLANG/ShaderLang.h>
    
    #include "compiler/translator/ExtensionBehavior.h"
    
    namespace sh
    {
    
    class TIntermBlock;
    class TSymbolTable;
    
    void CollectVariables(TIntermBlock *root,
                          std::vector<ShaderVariable> *attributes,
                          std::vector<ShaderVariable> *outputVariables,
                          std::vector<ShaderVariable> *uniforms,
                          std::vector<ShaderVariable> *inputVaryings,
                          std::vector<ShaderVariable> *outputVaryings,
                          std::vector<ShaderVariable> *sharedVariables,
                          std::vector<InterfaceBlock> *uniformBlocks,
                          std::vector<InterfaceBlock> *shaderStorageBlocks,
                          ShHashFunction64 hashFunction,
                          TSymbolTable *symbolTable,
                          GLenum shaderType,
                          const TExtensionBehavior &extensionBehavior,
                          const ShBuiltInResources &resources,
                          int tessControlShaderOutputVertices);
    }  // namespace sh
    
    #endif  // COMPILER_TRANSLATOR_COLLECTVARIABLES_H_