1 // 2 // Copyright 2017 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 // ClampFragDepth.h: Limit the value that is written to gl_FragDepth to the range [0.0, 1.0]. 7 // The clamping is run at the very end of shader execution, and is only performed if the shader 8 // statically accesses gl_FragDepth. 9 // 10 11 #ifndef COMPILER_TRANSLATOR_TREEOPS_CLAMPFRAGDEPTH_H_ 12 #define COMPILER_TRANSLATOR_TREEOPS_CLAMPFRAGDEPTH_H_ 13 14 #include "common/angleutils.h" 15 #include "common/debug.h" 16 17 namespace sh 18 { 19 20 class TCompiler; 21 class TIntermBlock; 22 class TSymbolTable; 23 24 [[nodiscard]] bool ClampFragDepth(TCompiler *compiler, 25 TIntermBlock *root, 26 TSymbolTable *symbolTable); 27 28 } // namespace sh 29 30 #endif // COMPILER_TRANSLATOR_TREEOPS_CLAMPFRAGDEPTH_H_ 31