1 //
2 // Copyright 2018 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 // NameEmbeddedUniformStructs: Gives nameless uniform struct internal names.
7 //
8 // For example:
9 //   uniform struct { int a; } uni;
10 // becomes:
11 //   struct s1 { int a; };
12 //   uniform s1 uni;
13 //
14 
15 #ifndef COMPILER_TRANSLATOR_TREEOPS_NAMEEMBEDDEDUNIFORMSTRUCTSMETAL_H_
16 #define COMPILER_TRANSLATOR_TREEOPS_NAMEEMBEDDEDUNIFORMSTRUCTSMETAL_H_
17 
18 #include "common/angleutils.h"
19 
20 namespace sh
21 {
22 class TCompiler;
23 class TIntermBlock;
24 class TSymbolTable;
25 
26 ANGLE_NO_DISCARD bool NameEmbeddedStructUniformsMetal(TCompiler *compiler,
27                                                       TIntermBlock *root,
28                                                       TSymbolTable *symbolTable);
29 }  // namespace sh
30 
31 #endif  // COMPILER_TRANSLATOR_TREEOPS_NAMEEMBEDDEDUNIFORMSTRUCTSMETAL_H_
32