1 //
2 // Copyright 2013 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 // FlagStd140Structs.h: Find structs in std140 blocks, where the padding added in the translator
7 // conflicts with the "natural" unpadded type.
8 
9 #ifndef COMPILER_TRANSLATOR_FLAGSTD140STRUCTS_H_
10 #define COMPILER_TRANSLATOR_FLAGSTD140STRUCTS_H_
11 
12 #include <vector>
13 
14 namespace sh
15 {
16 
17 class TField;
18 class TIntermNode;
19 class TIntermSymbol;
20 
21 struct MappedStruct
22 {
23     TIntermSymbol *blockDeclarator;
24     TField *field;
25 };
26 
27 std::vector<MappedStruct> FlagStd140Structs(TIntermNode *node);
28 }  // namespace sh
29 
30 #endif  // COMPILER_TRANSLATOR_FLAGSTD140STRUCTS_H_
31