Force index/loop validation on the D3D9 backend

D3D9 shader models have limited support for looping, so the Appendix A
index/loop limitations are necessary. This is consistent with applying
the limitations on D3D9_3 feature level and lower of the D3D11 backend
too.

Also, when the limitations are not in place, a workaround for dynamic
indexing of vectors and matrices will be applied. This workaround does not
work on the D3D9 backend, as demonstrated with some WebGL conformance
failures caused by it in Chrome on D3D9.

BUG=525188
TEST=angle_end2end_tests

Change-Id: I6411594f067f2740f55d7560427026b23b15dac7
Reviewed-on: https://chromium-review.googlesource.com/296940
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
diff --git a/src/tests/gl_tests/GLSLTest.cpp b/src/tests/gl_tests/GLSLTest.cpp
index 96e4d8b..2981ff6 100644
--- a/src/tests/gl_tests/GLSLTest.cpp
+++ b/src/tests/gl_tests/GLSLTest.cpp
@@ -1095,7 +1095,7 @@
     // If the test is configured to run limited to Feature Level 9_3, then it is
     // assumed that shader compilation will fail with an expected error message containing
     // "Loop index cannot be compared with non-constant expression"
-    if ((GetParam() == ES2_D3D11_FL9_3()))
+    if ((GetParam() == ES2_D3D11_FL9_3() || GetParam() == ES2_D3D9()))
     {
         if (compileResult != 0)
         {