1*8975f5c5SAndroid Build Coastguard Worker // 2*8975f5c5SAndroid Build Coastguard Worker // Copyright 2013 The ANGLE Project Authors. All rights reserved. 3*8975f5c5SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 4*8975f5c5SAndroid Build Coastguard Worker // found in the LICENSE file. 5*8975f5c5SAndroid Build Coastguard Worker // 6*8975f5c5SAndroid Build Coastguard Worker // FlagStd140Structs.h: Find structs in std140 blocks, where the padding added in the translator 7*8975f5c5SAndroid Build Coastguard Worker // conflicts with the "natural" unpadded type. 8*8975f5c5SAndroid Build Coastguard Worker 9*8975f5c5SAndroid Build Coastguard Worker #ifndef COMPILER_TRANSLATOR_FLAGSTD140STRUCTS_H_ 10*8975f5c5SAndroid Build Coastguard Worker #define COMPILER_TRANSLATOR_FLAGSTD140STRUCTS_H_ 11*8975f5c5SAndroid Build Coastguard Worker 12*8975f5c5SAndroid Build Coastguard Worker #include <vector> 13*8975f5c5SAndroid Build Coastguard Worker 14*8975f5c5SAndroid Build Coastguard Worker namespace sh 15*8975f5c5SAndroid Build Coastguard Worker { 16*8975f5c5SAndroid Build Coastguard Worker 17*8975f5c5SAndroid Build Coastguard Worker class TField; 18*8975f5c5SAndroid Build Coastguard Worker class TIntermNode; 19*8975f5c5SAndroid Build Coastguard Worker class TIntermSymbol; 20*8975f5c5SAndroid Build Coastguard Worker 21*8975f5c5SAndroid Build Coastguard Worker struct MappedStruct 22*8975f5c5SAndroid Build Coastguard Worker { 23*8975f5c5SAndroid Build Coastguard Worker TIntermSymbol *blockDeclarator; 24*8975f5c5SAndroid Build Coastguard Worker TField *field; 25*8975f5c5SAndroid Build Coastguard Worker }; 26*8975f5c5SAndroid Build Coastguard Worker 27*8975f5c5SAndroid Build Coastguard Worker std::vector<MappedStruct> FlagStd140Structs(TIntermNode *node); 28*8975f5c5SAndroid Build Coastguard Worker } // namespace sh 29*8975f5c5SAndroid Build Coastguard Worker 30*8975f5c5SAndroid Build Coastguard Worker #endif // COMPILER_TRANSLATOR_FLAGSTD140STRUCTS_H_ 31