blob: 3cd84988a99d4e9a1942ed6fa845a4aa4f322623 [file] [log] [blame]
Olli Etuaho5c407bb2015-06-01 12:20:39 +03001//
2// Copyright (c) 2002-2015 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_REMOVEPOW_H_
12#define COMPILER_TRANSLATOR_REMOVEPOW_H_
13
Jamie Madill45bcc782016-11-07 13:58:48 -050014namespace sh
15{
Olli Etuaho5c407bb2015-06-01 12:20:39 +030016class TIntermNode;
17
18void RemovePow(TIntermNode *root);
Jamie Madill45bcc782016-11-07 13:58:48 -050019} // namespace sh
Olli Etuaho5c407bb2015-06-01 12:20:39 +030020
Jamie Madilld7b1ab52016-12-12 14:42:19 -050021#endif // COMPILER_TRANSLATOR_REMOVEPOW_H_