Fix D3D9 varyings limits.

We were off by one varying, since D3D9 treats PSIZE specially.

BUG=angle:769

Change-Id: Id5242d12c3ca42da3f3f528ff4a21445dba89701
Reviewed-on: https://chromium-review.googlesource.com/221062
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libGLESv2/renderer/d3d/d3d9/renderer9_utils.cpp b/src/libGLESv2/renderer/d3d/d3d9/renderer9_utils.cpp
index 4e8f3c1..4310918 100644
--- a/src/libGLESv2/renderer/d3d/d3d9/renderer9_utils.cpp
+++ b/src/libGLESv2/renderer/d3d/d3d9/renderer9_utils.cpp
@@ -391,8 +391,9 @@
 
     caps->maxVertexUniformBlocks = 0;
 
-    const size_t MAX_VERTEX_OUTPUT_VECTORS_SM3 = 10;
-    const size_t MAX_VERTEX_OUTPUT_VECTORS_SM2 = 8;
+    // SM3 only supports 11 output variables, with a special 12th register for PSIZE.
+    const size_t MAX_VERTEX_OUTPUT_VECTORS_SM3 = 9;
+    const size_t MAX_VERTEX_OUTPUT_VECTORS_SM2 = 7;
     caps->maxVertexOutputComponents = ((deviceCaps.VertexShaderVersion >= D3DVS_VERSION(3, 0)) ? MAX_VERTEX_OUTPUT_VECTORS_SM3
                                                                                                : MAX_VERTEX_OUTPUT_VECTORS_SM2) * 4;