xref: /aosp_15_r20/external/angle/src/compiler/translator/tree_ops/RewritePixelLocalStorage.h (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1 //
2 // Copyright 2022 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 
7 #ifndef COMPILER_TRANSLATOR_TREEOPS_REWRITE_PIXELLOCALSTORAGE_H_
8 #define COMPILER_TRANSLATOR_TREEOPS_REWRITE_PIXELLOCALSTORAGE_H_
9 
10 #include <GLSLANG/ShaderLang.h>
11 
12 namespace sh
13 {
14 
15 class TCompiler;
16 class TIntermBlock;
17 class TSymbolTable;
18 
19 // This mutating tree traversal rewrites high level ANGLE_shader_pixel_local_storage operations to
20 // the type of shader operations specified by ShPixelLocalStorageType, found in ShCompileOptions.
21 [[nodiscard]] bool RewritePixelLocalStorage(TCompiler *compiler,
22                                             TIntermBlock *root,
23                                             TSymbolTable &symbolTable,
24                                             const ShCompileOptions &compileOptions,
25                                             int shaderVersion);
26 
27 }  // namespace sh
28 
29 #endif  // COMPILER_TRANSLATOR_TREEOPS_REWRITE_PIXELLOCALSTORAGE_H_
30