Use shader optimization level 3 selectively.
Default to HLSL compiler optimization level 1 and work around a compiler bug with break in nested loops by using optimization level 3.
BUG=angle:603
Change-Id: I4f7985a5648f1b5f54d80554c21aced7fc1777c2
Reviewed-on: https://chromium-review.googlesource.com/194129
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
diff --git a/src/compiler/translator/OutputHLSL.h b/src/compiler/translator/OutputHLSL.h
index 79e5572..283e217 100644
--- a/src/compiler/translator/OutputHLSL.h
+++ b/src/compiler/translator/OutputHLSL.h
@@ -149,6 +149,7 @@
bool mUsesAtan2_3;
bool mUsesAtan2_4;
bool mUsesDiscardRewriting;
+ bool mUsesNestedBreak;
int mNumRenderTargets;
@@ -170,6 +171,7 @@
bool mContainsLoopDiscontinuity;
bool mOutputLod0Function;
bool mInsideDiscontinuousLoop;
+ int mNestedLoopDepth;
TIntermSymbol *mExcessiveLoopIndex;