summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/angle/src/compiler/translator/ForLoopUnroll.h
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@qt.io>2019-04-16 16:32:08 +0200
committerTobias Hunger <tobias.hunger@qt.io>2019-04-16 16:32:08 +0200
commit6630937e63ae5797487b86743a7733c8ae5cc42c (patch)
tree3d53dacf6430f9099e1fb20835881205de674961 /src/3rdparty/angle/src/compiler/translator/ForLoopUnroll.h
parent37ed6dae00640f9cc980ffda05347c12a7eb5d7e (diff)
parentc7af193d2e49e9f10b86262e63d8d13abf72b5cf (diff)
Merge commit 'dev' into 'wip/cmake-merge'
Diffstat (limited to 'src/3rdparty/angle/src/compiler/translator/ForLoopUnroll.h')
-rw-r--r--src/3rdparty/angle/src/compiler/translator/ForLoopUnroll.h53
1 files changed, 0 insertions, 53 deletions
diff --git a/src/3rdparty/angle/src/compiler/translator/ForLoopUnroll.h b/src/3rdparty/angle/src/compiler/translator/ForLoopUnroll.h
deleted file mode 100644
index 9c49ecad33..0000000000
--- a/src/3rdparty/angle/src/compiler/translator/ForLoopUnroll.h
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-// Copyright (c) 2011 The ANGLE Project Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-
-#ifndef COMPILER_TRANSLATOR_FORLOOPUNROLL_H_
-#define COMPILER_TRANSLATOR_FORLOOPUNROLL_H_
-
-#include "compiler/translator/LoopInfo.h"
-
-// This class detects for-loops that needs to be unrolled.
-// Currently we support two unroll conditions:
-// 1) kForLoopWithIntegerIndex: unroll if the index type is integer.
-// 2) kForLoopWithSamplerArrayIndex: unroll where a sampler array index
-// is also the loop integer index, and reject and fail a compile
-// where a sampler array index is also the loop float index.
-class ForLoopUnrollMarker : public TIntermTraverser
-{
- public:
- enum UnrollCondition
- {
- kIntegerIndex,
- kSamplerArrayIndex
- };
-
- ForLoopUnrollMarker(UnrollCondition condition, bool hasRunLoopValidation)
- : TIntermTraverser(true, false, false),
- mUnrollCondition(condition),
- mSamplerArrayIndexIsFloatLoopIndex(false),
- mVisitSamplerArrayIndexNodeInsideLoop(false),
- mHasRunLoopValidation(hasRunLoopValidation)
- {
- }
-
- bool visitBinary(Visit, TIntermBinary *node) override;
- bool visitLoop(Visit, TIntermLoop *node) override;
- void visitSymbol(TIntermSymbol *node) override;
-
- bool samplerArrayIndexIsFloatLoopIndex() const
- {
- return mSamplerArrayIndexIsFloatLoopIndex;
- }
-
- private:
- UnrollCondition mUnrollCondition;
- TLoopStack mLoopStack;
- bool mSamplerArrayIndexIsFloatLoopIndex;
- bool mVisitSamplerArrayIndexNodeInsideLoop;
- bool mHasRunLoopValidation;
-};
-
-#endif // COMPILER_TRANSLATOR_FORLOOPUNROLL_H_