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