• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //
2 // Copyright 2002 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 // RemovePow is an AST traverser to convert pow(x, y) built-in calls where y is a
7 // constant to exp2(y * log2(x)). This works around an issue in NVIDIA 311 series
8 // OpenGL drivers.
9 //
10 
11 #ifndef COMPILER_TRANSLATOR_TREEOPS_REMOVEPOW_H_
12 #define COMPILER_TRANSLATOR_TREEOPS_REMOVEPOW_H_
13 
14 #include "common/angleutils.h"
15 
16 namespace sh
17 {
18 class TCompiler;
19 class TIntermNode;
20 class TSymbolTable;
21 
22 ANGLE_NO_DISCARD bool RemovePow(TCompiler *compiler, TIntermNode *root, TSymbolTable *symbolTable);
23 }  // namespace sh
24 
25 #endif  // COMPILER_TRANSLATOR_TREEOPS_REMOVEPOW_H_
26