D3D: Work around HLSL integer pow folding bug.
BUG=angleproject:851
Change-Id: I68a47b8343a29e42c0a69ca3f2a6cb5054d03782
Reviewed-on: https://chromium-review.googlesource.com/362775
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
diff --git a/src/tests/gl_tests/GLSLTest.cpp b/src/tests/gl_tests/GLSLTest.cpp
index 3fc0bf1..f8b77a9 100644
--- a/src/tests/gl_tests/GLSLTest.cpp
+++ b/src/tests/gl_tests/GLSLTest.cpp
@@ -8,6 +8,7 @@
#include "libANGLE/Context.h"
#include "libANGLE/Program.h"
+#include "test_utils/gl_raii.h"
using namespace angle;
@@ -1607,9 +1608,8 @@
}
// Covers the WebGL test 'glsl/bugs/pow-of-small-constant-in-user-defined-function'
-// See https://code.google.com/p/angleproject/issues/detail?id=851
-// TODO(jmadill): ANGLE constant folding can fix this
-TEST_P(GLSLTest, DISABLED_PowOfSmallConstant)
+// See http://anglebug.com/851
+TEST_P(GLSLTest, PowOfSmallConstant)
{
const std::string &fragmentShaderSource = SHADER_SOURCE
(
@@ -1639,11 +1639,10 @@
}
);
- GLuint program = CompileProgram(mSimpleVSSource, fragmentShaderSource);
- EXPECT_NE(0u, program);
+ ANGLE_GL_PROGRAM(program, mSimpleVSSource, fragmentShaderSource);
- drawQuad(program, "inputAttribute", 0.5f);
- EXPECT_PIXEL_EQ(0, 0, 0, 255, 0, 255);
+ drawQuad(program.get(), "inputAttribute", 0.5f);
+ EXPECT_PIXEL_COLOR_EQ(0, 0, GLColor::green);
EXPECT_GL_NO_ERROR();
}