Emulate large and negative viewports on D3D11 Feature Level 9_3

Like D3D9, D3D11 Feature Level 9_3 doesn't support large or negative
viewports. We have to emulate these in the vertex shader.

BUG=angle:858

Change-Id: I2bd53e3921dc3590cc7193164d73596deafca9ea
Reviewed-on: https://chromium-review.googlesource.com/236040
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
diff --git a/tests/angle_tests/ANGLETest.cpp b/tests/angle_tests/ANGLETest.cpp
index a7d6a93..0f459df 100644
--- a/tests/angle_tests/ANGLETest.cpp
+++ b/tests/angle_tests/ANGLETest.cpp
@@ -53,7 +53,7 @@
     mEGLWindow->swap();
 }
 
-void ANGLETest::drawQuad(GLuint program, const std::string& positionAttribName, GLfloat quadDepth)
+void ANGLETest::drawQuad(GLuint program, const std::string& positionAttribName, GLfloat quadDepth, GLfloat quadScale)
 {
     GLint positionLocation = glGetAttribLocation(program, positionAttribName.c_str());
 
@@ -61,13 +61,13 @@
 
     const GLfloat vertices[] =
     {
-        -1.0f,  1.0f, quadDepth,
-        -1.0f, -1.0f, quadDepth,
-         1.0f, -1.0f, quadDepth,
+        -1.0f * quadScale,  1.0f * quadScale, quadDepth,
+        -1.0f * quadScale, -1.0f * quadScale, quadDepth,
+         1.0f * quadScale, -1.0f * quadScale, quadDepth,
 
-        -1.0f,  1.0f, quadDepth,
-         1.0f, -1.0f, quadDepth,
-         1.0f,  1.0f, quadDepth,
+        -1.0f * quadScale,  1.0f * quadScale, quadDepth,
+         1.0f * quadScale, -1.0f * quadScale, quadDepth,
+         1.0f * quadScale,  1.0f * quadScale, quadDepth,
     };
 
     glVertexAttribPointer(positionLocation, 3, GL_FLOAT, GL_FALSE, 0, vertices);