Fix regressions in the unit tests related to setting gl_PointSize, and using other draw modes.

This had two regressions, using gl_PointSize and drawing triangles, and drawing points and triangles
with the same binary program.

TRAC #22526

Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods
Author: Jamie Madill

git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1853 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/Context.cpp b/src/libGLESv2/Context.cpp
index cbd827a..8e4b703 100644
--- a/src/libGLESv2/Context.cpp
+++ b/src/libGLESv2/Context.cpp
@@ -59,6 +59,7 @@
     mState.rasterizer.polygonOffsetFill = false;
     mState.rasterizer.polygonOffsetFactor = 0.0f;
     mState.rasterizer.polygonOffsetUnits = 0.0f;
+    mState.rasterizer.pointDrawMode = false;
     mState.scissorTest = false;
     mState.scissor.x = 0;
     mState.scissor.y = 0;
@@ -1712,17 +1713,8 @@
 // Applies the fixed-function state (culling, depth test, alpha blending, stenciling, etc) to the Direct3D 9 device
 void Context::applyState(GLenum drawMode)
 {
-    // disable face culling for point sprite emulation (done as geometry shader quads)
-    if (getCurrentProgramBinary()->usesPointSpriteEmulation())
-    {
-        RasterizerState rasterizerStateCopy = mState.rasterizer;
-        rasterizerStateCopy.cullFace = false;
-        mRenderer->setRasterizerState(rasterizerStateCopy);
-    }
-    else
-    {
-        mRenderer->setRasterizerState(mState.rasterizer);
-    }
+    mState.rasterizer.pointDrawMode = (drawMode == GL_POINTS);
+    mRenderer->setRasterizerState(mState.rasterizer);
 
     unsigned int mask = 0;
     if (mState.sampleCoverage)