Index: src/gpu/effects/GrConfigConversionEffect.cpp |
diff --git a/src/gpu/effects/GrConfigConversionEffect.cpp b/src/gpu/effects/GrConfigConversionEffect.cpp |
index 2808af638f3d7df98bbabce5724ac1d10ac89510..aeb0393daf7a693830fa0e0d3118f2b5932a383f 100644 |
--- a/src/gpu/effects/GrConfigConversionEffect.cpp |
+++ b/src/gpu/effects/GrConfigConversionEffect.cpp |
@@ -125,6 +125,12 @@ void GrConfigConversionEffect::onComputeInvariantOutput(GrInvariantOutput* inout |
GR_DEFINE_FRAGMENT_PROCESSOR_TEST(GrConfigConversionEffect); |
+#if !defined(__clang__) && _MSC_FULL_VER >= 190024213 |
+// Work around VS 2015 Update 3 optimizer bug that causes internal compiler error |
+//https://connect.microsoft.com/VisualStudio/feedback/details/3100520/internal-compiler-error |
+#pragma optimize("t", off) |
+#endif |
+ |
sk_sp<GrFragmentProcessor> GrConfigConversionEffect::TestCreate(GrProcessorTestData* d) { |
PMConversion pmConv = static_cast<PMConversion>(d->fRandom->nextULessThan(kPMConversionCnt)); |
GrSwizzle swizzle; |
@@ -136,6 +142,11 @@ sk_sp<GrFragmentProcessor> GrConfigConversionEffect::TestCreate(GrProcessorTestD |
swizzle, pmConv, GrTest::TestMatrix(d->fRandom))); |
} |
+#if !defined(__clang__) && _MSC_FULL_VER >= 190024213 |
+// Restore optimization settings. |
+#pragma optimize("", on) |
+#endif |
+ |
/////////////////////////////////////////////////////////////////////////////// |
void GrConfigConversionEffect::onGetGLSLProcessorKey(const GrGLSLCaps& caps, |