Commit 716cc88e by Geoff Lang

Always sync writemasks and front face.

BUG=angleproject:883 Change-Id: Ie1d544c8f30472238d859d8fd7f553a73b066802 Reviewed-on: https://chromium-review.googlesource.com/269145Reviewed-by: 's avatarKenneth Russell <kbr@chromium.org> Reviewed-by: 's avatarBrandon Jones <bajones@chromium.org> Tested-by: 's avatarGeoff Lang <geofflang@chromium.org>
parent 37ad4744
...@@ -323,8 +323,8 @@ gl::Error StateManagerGL::setGenericDrawState(const gl::Data &data) ...@@ -323,8 +323,8 @@ gl::Error StateManagerGL::setGenericDrawState(const gl::Data &data)
setBlendColor(state.getBlendColor()); setBlendColor(state.getBlendColor());
setBlendFuncs(blendState.sourceBlendRGB, blendState.destBlendRGB, blendState.sourceBlendAlpha, blendState.destBlendAlpha); setBlendFuncs(blendState.sourceBlendRGB, blendState.destBlendRGB, blendState.sourceBlendAlpha, blendState.destBlendAlpha);
setBlendEquations(blendState.blendEquationRGB, blendState.blendEquationAlpha); setBlendEquations(blendState.blendEquationRGB, blendState.blendEquationAlpha);
setColorMask(blendState.colorMaskRed, blendState.colorMaskGreen, blendState.colorMaskBlue, blendState.colorMaskAlpha);
} }
setColorMask(blendState.colorMaskRed, blendState.colorMaskGreen, blendState.colorMaskBlue, blendState.colorMaskAlpha);
setSampleAlphaToCoverageEnabled(blendState.sampleAlphaToCoverage); setSampleAlphaToCoverageEnabled(blendState.sampleAlphaToCoverage);
setSampleCoverageEnabled(state.isSampleCoverageEnabled()); setSampleCoverageEnabled(state.isSampleCoverageEnabled());
setSampleCoverage(state.getSampleCoverageValue(), state.getSampleCoverageInvert()); setSampleCoverage(state.getSampleCoverageValue(), state.getSampleCoverageInvert());
...@@ -334,27 +334,27 @@ gl::Error StateManagerGL::setGenericDrawState(const gl::Data &data) ...@@ -334,27 +334,27 @@ gl::Error StateManagerGL::setGenericDrawState(const gl::Data &data)
if (depthStencilState.depthTest) if (depthStencilState.depthTest)
{ {
setDepthFunc(depthStencilState.depthFunc); setDepthFunc(depthStencilState.depthFunc);
setDepthMask(depthStencilState.depthMask);
} }
setDepthMask(depthStencilState.depthMask);
setStencilTestEnabled(depthStencilState.stencilTest); setStencilTestEnabled(depthStencilState.stencilTest);
if (depthStencilState.stencilTest) if (depthStencilState.stencilTest)
{ {
setStencilFrontWritemask(state.getDepthStencilState().stencilWritemask);
setStencilBackWritemask(state.getDepthStencilState().stencilBackWritemask);
setStencilFrontFuncs(depthStencilState.stencilFunc, state.getStencilRef(), depthStencilState.stencilMask); setStencilFrontFuncs(depthStencilState.stencilFunc, state.getStencilRef(), depthStencilState.stencilMask);
setStencilBackFuncs(depthStencilState.stencilBackFunc, state.getStencilBackRef(), depthStencilState.stencilBackMask); setStencilBackFuncs(depthStencilState.stencilBackFunc, state.getStencilBackRef(), depthStencilState.stencilBackMask);
setStencilFrontOps(depthStencilState.stencilFail, depthStencilState.stencilPassDepthFail, depthStencilState.stencilPassDepthPass); setStencilFrontOps(depthStencilState.stencilFail, depthStencilState.stencilPassDepthFail, depthStencilState.stencilPassDepthPass);
setStencilBackOps(depthStencilState.stencilBackFail, depthStencilState.stencilBackPassDepthFail, depthStencilState.stencilBackPassDepthPass); setStencilBackOps(depthStencilState.stencilBackFail, depthStencilState.stencilBackPassDepthFail, depthStencilState.stencilBackPassDepthPass);
} }
setStencilFrontWritemask(state.getDepthStencilState().stencilWritemask);
setStencilBackWritemask(state.getDepthStencilState().stencilBackWritemask);
const gl::RasterizerState &rasterizerState = state.getRasterizerState(); const gl::RasterizerState &rasterizerState = state.getRasterizerState();
setCullFaceEnabled(rasterizerState.cullFace); setCullFaceEnabled(rasterizerState.cullFace);
if (rasterizerState.cullFace) if (rasterizerState.cullFace)
{ {
setCullFace(rasterizerState.cullMode); setCullFace(rasterizerState.cullMode);
setFrontFace(rasterizerState.frontFace);
} }
setFrontFace(rasterizerState.frontFace);
setPolygonOffsetFillEnabled(rasterizerState.polygonOffsetFill); setPolygonOffsetFillEnabled(rasterizerState.polygonOffsetFill);
if (rasterizerState.polygonOffsetFill) if (rasterizerState.polygonOffsetFill)
......
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