Commit add8d031 by Geoff Lang

Don't sync the multisample state in StateManagerGL.

GL_MULTISAMPLE is not a real state in GLES but existed for the D3D renderers to sync the rasterizer state more easily. Instead of syncing it in StateManagerGL, rely on the default value of GL_TRUE in Desktop GL. All tests in dEQP-GLES3.functional.multisample.* now pass. BUG=angleproject:885 BUG=angleproject:883 Change-Id: Idbe5fbc1b43a6e66008fe87da41601277dbe7311 Reviewed-on: https://chromium-review.googlesource.com/298441Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org> Tested-by: 's avatarGeoff Lang <geofflang@chromium.org>
parent 61b8dd97
...@@ -284,7 +284,6 @@ class State : angle::NonCopyable ...@@ -284,7 +284,6 @@ class State : angle::NonCopyable
DIRTY_BIT_FRONT_FACE, DIRTY_BIT_FRONT_FACE,
DIRTY_BIT_POLYGON_OFFSET_FILL_ENABLED, DIRTY_BIT_POLYGON_OFFSET_FILL_ENABLED,
DIRTY_BIT_POLYGON_OFFSET, DIRTY_BIT_POLYGON_OFFSET,
DIRTY_BIT_MULTISAMPLE_ENABLED,
DIRTY_BIT_RASTERIZER_DISCARD_ENABLED, DIRTY_BIT_RASTERIZER_DISCARD_ENABLED,
DIRTY_BIT_LINE_WIDTH, DIRTY_BIT_LINE_WIDTH,
DIRTY_BIT_PRIMITIVE_RESTART_ENABLED, DIRTY_BIT_PRIMITIVE_RESTART_ENABLED,
......
...@@ -84,7 +84,6 @@ StateManagerGL::StateManagerGL(const FunctionsGL *functions, const gl::Caps &ren ...@@ -84,7 +84,6 @@ StateManagerGL::StateManagerGL(const FunctionsGL *functions, const gl::Caps &ren
mPolygonOffsetFillEnabled(false), mPolygonOffsetFillEnabled(false),
mPolygonOffsetFactor(0.0f), mPolygonOffsetFactor(0.0f),
mPolygonOffsetUnits(0.0f), mPolygonOffsetUnits(0.0f),
mMultisampleEnabled(true),
mRasterizerDiscardEnabled(false), mRasterizerDiscardEnabled(false),
mLineWidth(1.0f), mLineWidth(1.0f),
mPrimitiveRestartEnabled(false), mPrimitiveRestartEnabled(false),
...@@ -926,24 +925,6 @@ void StateManagerGL::setPolygonOffset(float factor, float units) ...@@ -926,24 +925,6 @@ void StateManagerGL::setPolygonOffset(float factor, float units)
} }
} }
void StateManagerGL::setMultisampleEnabled(bool enabled)
{
if (mMultisampleEnabled != enabled)
{
mMultisampleEnabled = enabled;
if (mMultisampleEnabled)
{
mFunctions->enable(GL_MULTISAMPLE);
}
else
{
mFunctions->disable(GL_MULTISAMPLE);
}
mLocalDirtyBits.set(gl::State::DIRTY_BIT_MULTISAMPLE_ENABLED);
}
}
void StateManagerGL::setRasterizerDiscardEnabled(bool enabled) void StateManagerGL::setRasterizerDiscardEnabled(bool enabled)
{ {
if (mRasterizerDiscardEnabled != enabled) if (mRasterizerDiscardEnabled != enabled)
...@@ -1157,9 +1138,6 @@ void StateManagerGL::syncState(const gl::State &state, const gl::State::DirtyBit ...@@ -1157,9 +1138,6 @@ void StateManagerGL::syncState(const gl::State &state, const gl::State::DirtyBit
rasterizerState.polygonOffsetUnits); rasterizerState.polygonOffsetUnits);
break; break;
} }
case gl::State::DIRTY_BIT_MULTISAMPLE_ENABLED:
setMultisampleEnabled(state.getRasterizerState().multiSample);
break;
case gl::State::DIRTY_BIT_RASTERIZER_DISCARD_ENABLED: case gl::State::DIRTY_BIT_RASTERIZER_DISCARD_ENABLED:
setRasterizerDiscardEnabled(state.isRasterizerDiscardEnabled()); setRasterizerDiscardEnabled(state.isRasterizerDiscardEnabled());
break; break;
......
...@@ -85,7 +85,6 @@ class StateManagerGL final : angle::NonCopyable ...@@ -85,7 +85,6 @@ class StateManagerGL final : angle::NonCopyable
void setFrontFace(GLenum frontFace); void setFrontFace(GLenum frontFace);
void setPolygonOffsetFillEnabled(bool enabled); void setPolygonOffsetFillEnabled(bool enabled);
void setPolygonOffset(float factor, float units); void setPolygonOffset(float factor, float units);
void setMultisampleEnabled(bool enabled);
void setRasterizerDiscardEnabled(bool enabled); void setRasterizerDiscardEnabled(bool enabled);
void setLineWidth(float width); void setLineWidth(float width);
...@@ -205,7 +204,6 @@ class StateManagerGL final : angle::NonCopyable ...@@ -205,7 +204,6 @@ class StateManagerGL final : angle::NonCopyable
bool mPolygonOffsetFillEnabled; bool mPolygonOffsetFillEnabled;
GLfloat mPolygonOffsetFactor; GLfloat mPolygonOffsetFactor;
GLfloat mPolygonOffsetUnits; GLfloat mPolygonOffsetUnits;
bool mMultisampleEnabled;
bool mRasterizerDiscardEnabled; bool mRasterizerDiscardEnabled;
float mLineWidth; float mLineWidth;
......
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