Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/angle
Path: blob/main_old/src/compiler/translator/CollectVariables.h
1693 views
1
//
2
// Copyright 2002 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
// CollectVariables.h: Collect lists of shader interface variables based on the AST.
7
8
#ifndef COMPILER_TRANSLATOR_COLLECTVARIABLES_H_
9
#define COMPILER_TRANSLATOR_COLLECTVARIABLES_H_
10
11
#include <GLSLANG/ShaderLang.h>
12
13
#include "compiler/translator/ExtensionBehavior.h"
14
15
namespace sh
16
{
17
18
class TIntermBlock;
19
class TSymbolTable;
20
21
void CollectVariables(TIntermBlock *root,
22
std::vector<ShaderVariable> *attributes,
23
std::vector<ShaderVariable> *outputVariables,
24
std::vector<ShaderVariable> *uniforms,
25
std::vector<ShaderVariable> *inputVaryings,
26
std::vector<ShaderVariable> *outputVaryings,
27
std::vector<ShaderVariable> *sharedVariables,
28
std::vector<InterfaceBlock> *uniformBlocks,
29
std::vector<InterfaceBlock> *shaderStorageBlocks,
30
ShHashFunction64 hashFunction,
31
TSymbolTable *symbolTable,
32
GLenum shaderType,
33
const TExtensionBehavior &extensionBehavior,
34
const ShBuiltInResources &resources,
35
int tessControlShaderOutputVertices);
36
} // namespace sh
37
38
#endif // COMPILER_TRANSLATOR_COLLECTVARIABLES_H_
39
40