Fix a regression with point sprites where the geometry shader state was not properly updated.

This was breaking the ES2 point sprites conformance test. TRAC #22544 Signed-off-by: Geoff Lang Signed-off-by: Shannon Woods Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1876 736b8ea6-26fd-11df-bfd4-992fa37f6226
parent 8ce2f8f8
......@@ -1099,7 +1099,9 @@ void Renderer11::drawTriangleFan(GLsizei count, GLenum type, const GLvoid *indic
void Renderer11::applyShaders(gl::ProgramBinary *programBinary)
{
unsigned int programBinarySerial = programBinary->getSerial();
if (programBinarySerial != mAppliedProgramBinarySerial)
const bool updateProgramState = (programBinarySerial != mAppliedProgramBinarySerial);
if (updateProgramState)
{
ShaderExecutable *vertexExe = programBinary->getVertexExecutable();
ShaderExecutable *pixelExe = programBinary->getPixelExecutable();
......@@ -1119,9 +1121,9 @@ void Renderer11::applyShaders(gl::ProgramBinary *programBinary)
}
// Only use the geometry shader currently for point sprite drawing
const bool usesGeometryShader = programBinary->usesGeometryShader() && mCurRasterState.pointDrawMode;
const bool usesGeometryShader = (programBinary->usesGeometryShader() && mCurRasterState.pointDrawMode);
if (programBinarySerial != mAppliedProgramBinarySerial || usesGeometryShader != mIsGeometryShaderActive)
if (updateProgramState || usesGeometryShader != mIsGeometryShaderActive)
{
if (usesGeometryShader)
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment