Break up loops with over 255 iterations.
TRAC# 11724
fixes acos/asin conformance
Signed-off-by: Shannon Woods
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@105 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/compiler/intermediate.h b/src/compiler/intermediate.h
index b3cbd8d..4f83b86 100644
--- a/src/compiler/intermediate.h
+++ b/src/compiler/intermediate.h
@@ -185,6 +185,7 @@
class TIntermTraverser;
class TIntermAggregate;
class TIntermBinary;
+class TIntermUnary;
class TIntermConstantUnion;
class TIntermSelection;
class TIntermTyped;
@@ -206,6 +207,7 @@
virtual TIntermConstantUnion* getAsConstantUnion() { return 0; }
virtual TIntermAggregate* getAsAggregate() { return 0; }
virtual TIntermBinary* getAsBinaryNode() { return 0; }
+ virtual TIntermUnary* getAsUnaryNode() { return 0; }
virtual TIntermSelection* getAsSelectionNode() { return 0; }
virtual TIntermSymbol* getAsSymbolNode() { return 0; }
virtual ~TIntermNode() { }
@@ -221,9 +223,6 @@
TIntermNode* node2;
};
-class TIntermSymbol;
-class TIntermBinary;
-
//
// Intermediate class for nodes that have a type.
//
@@ -365,6 +364,7 @@
virtual void traverse(TIntermTraverser*);
virtual void setOperand(TIntermTyped* o) { operand = o; }
virtual TIntermTyped* getOperand() { return operand; }
+ virtual TIntermUnary* getAsUnaryNode() { return this; }
virtual bool promote(TInfoSink&);
protected:
TIntermTyped* operand;