aboutsummaryrefslogtreecommitdiff
path: root/glslang/Include/intermediate.h
diff options
context:
space:
mode:
Diffstat (limited to 'glslang/Include/intermediate.h')
-rw-r--r--glslang/Include/intermediate.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/glslang/Include/intermediate.h b/glslang/Include/intermediate.h
index 27c798d1..8f7ffcc0 100644
--- a/glslang/Include/intermediate.h
+++ b/glslang/Include/intermediate.h
@@ -46,12 +46,19 @@
#ifndef __INTERMEDIATE_H
#define __INTERMEDIATE_H
+#if _MSC_VER >= 1900
+ #pragma warning(disable : 4464) // relative include path contains '..'
+ #pragma warning(disable : 5026) // 'glslang::TIntermUnary': move constructor was implicitly defined as deleted
+#endif
+
#include "../Include/Common.h"
#include "../Include/Types.h"
#include "../Include/ConstantUnion.h"
namespace glslang {
+class TIntermediate;
+
//
// Operators used by the high-level (parse tree) representation.
//
@@ -614,6 +621,10 @@ enum TOperator {
EOpMethodGatherCmpGreen, // ...
EOpMethodGatherCmpBlue, // ...
EOpMethodGatherCmpAlpha, // ...
+
+ // geometry methods
+ EOpMethodAppend, // Geometry shader methods
+ EOpMethodRestartStrip, // ...
};
class TIntermTraverser;
@@ -845,7 +856,7 @@ public:
virtual TIntermOperator* getAsOperator() { return this; }
virtual const TIntermOperator* getAsOperator() const { return this; }
TOperator getOp() const { return op; }
- virtual bool promote() { return true; }
+ void setOp(TOperator newOp) { op = newOp; }
bool modifiesState() const;
bool isConstructor() const;
bool isTexture() const { return op > EOpTextureGuardBegin && op < EOpTextureGuardEnd; }
@@ -1024,7 +1035,6 @@ public:
virtual TIntermTyped* getRight() const { return right; }
virtual TIntermBinary* getAsBinaryNode() { return this; }
virtual const TIntermBinary* getAsBinaryNode() const { return this; }
- virtual bool promote();
virtual void updatePrecision();
protected:
TIntermTyped* left;
@@ -1044,7 +1054,6 @@ public:
virtual const TIntermTyped* getOperand() const { return operand; }
virtual TIntermUnary* getAsUnaryNode() { return this; }
virtual const TIntermUnary* getAsUnaryNode() const { return this; }
- virtual bool promote();
virtual void updatePrecision();
protected:
TIntermTyped* operand;