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 ...@@ -1099,7 +1099,9 @@ void Renderer11::drawTriangleFan(GLsizei count, GLenum type, const GLvoid *indic
void Renderer11::applyShaders(gl::ProgramBinary *programBinary) void Renderer11::applyShaders(gl::ProgramBinary *programBinary)
{ {
unsigned int programBinarySerial = programBinary->getSerial(); unsigned int programBinarySerial = programBinary->getSerial();
if (programBinarySerial != mAppliedProgramBinarySerial) const bool updateProgramState = (programBinarySerial != mAppliedProgramBinarySerial);
if (updateProgramState)
{ {
ShaderExecutable *vertexExe = programBinary->getVertexExecutable(); ShaderExecutable *vertexExe = programBinary->getVertexExecutable();
ShaderExecutable *pixelExe = programBinary->getPixelExecutable(); ShaderExecutable *pixelExe = programBinary->getPixelExecutable();
...@@ -1119,9 +1121,9 @@ void Renderer11::applyShaders(gl::ProgramBinary *programBinary) ...@@ -1119,9 +1121,9 @@ void Renderer11::applyShaders(gl::ProgramBinary *programBinary)
} }
// Only use the geometry shader currently for point sprite drawing // 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) 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