1 //
2 // Copyright (c) 2002-2015 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 // RemoveDynamicIndexing is an AST traverser to remove dynamic indexing of vectors and matrices,
7 // replacing them with calls to functions that choose which component to return or write.
8 //
9 
10 #ifndef COMPILER_TRANSLATOR_REMOVEDYNAMICINDEXING_H_
11 #define COMPILER_TRANSLATOR_REMOVEDYNAMICINDEXING_H_
12 
13 namespace sh
14 {
15 
16 class TIntermNode;
17 class TSymbolTable;
18 class PerformanceDiagnostics;
19 
20 void RemoveDynamicIndexing(TIntermNode *root,
21                            TSymbolTable *symbolTable,
22                            int shaderVersion,
23                            PerformanceDiagnostics *perfDiagnostics);
24 
25 }  // namespace sh
26 
27 #endif  // COMPILER_TRANSLATOR_REMOVEDYNAMICINDEXING_H_
28