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