Commit bc0b1d47 by Geoff Lang

Track local dirty state in StateManagerGL.

Make the state setting functions of StateManagerGL public. BUG=angleproject:1113 Change-Id: Ic435c06ece24064a2f2403119fa30309aba37608 Reviewed-on: https://chromium-review.googlesource.com/295240Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Tested-by: 's avatarGeoff Lang <geofflang@chromium.org>
parent c349ec03
...@@ -49,15 +49,6 @@ class StateManagerGL final : angle::NonCopyable ...@@ -49,15 +49,6 @@ class StateManagerGL final : angle::NonCopyable
void bindFramebuffer(GLenum type, GLuint framebuffer); void bindFramebuffer(GLenum type, GLuint framebuffer);
void bindRenderbuffer(GLenum type, GLuint renderbuffer); void bindRenderbuffer(GLenum type, GLuint renderbuffer);
gl::Error setDrawArraysState(const gl::Data &data, GLint first, GLsizei count);
gl::Error setDrawElementsState(const gl::Data &data, GLsizei count, GLenum type, const GLvoid *indices,
const GLvoid **outIndices);
void syncState(const gl::State &state, const gl::State::DirtyBits &dirtyBits);
private:
gl::Error setGenericDrawState(const gl::Data &data);
void setAttributeCurrentData(size_t index, const gl::VertexAttribCurrentValueData &data); void setAttributeCurrentData(size_t index, const gl::VertexAttribCurrentValueData &data);
void setScissorTestEnabled(bool enabled); void setScissorTestEnabled(bool enabled);
...@@ -68,7 +59,10 @@ class StateManagerGL final : angle::NonCopyable ...@@ -68,7 +59,10 @@ class StateManagerGL final : angle::NonCopyable
void setBlendEnabled(bool enabled); void setBlendEnabled(bool enabled);
void setBlendColor(const gl::ColorF &blendColor); void setBlendColor(const gl::ColorF &blendColor);
void setBlendFuncs(GLenum sourceBlendRGB, GLenum destBlendRGB, GLenum sourceBlendAlpha, GLenum destBlendAlpha); void setBlendFuncs(GLenum sourceBlendRGB,
GLenum destBlendRGB,
GLenum sourceBlendAlpha,
GLenum destBlendAlpha);
void setBlendEquations(GLenum blendEquationRGB, GLenum blendEquationAlpha); void setBlendEquations(GLenum blendEquationRGB, GLenum blendEquationAlpha);
void setColorMask(bool red, bool green, bool blue, bool alpha); void setColorMask(bool red, bool green, bool blue, bool alpha);
void setSampleAlphaToCoverageEnabled(bool enabled); void setSampleAlphaToCoverageEnabled(bool enabled);
...@@ -111,6 +105,15 @@ class StateManagerGL final : angle::NonCopyable ...@@ -111,6 +105,15 @@ class StateManagerGL final : angle::NonCopyable
void setPixelPackState(const gl::PixelPackState &pack); void setPixelPackState(const gl::PixelPackState &pack);
void setPixelPackState(GLint alignment, GLint rowLength, GLint skipRows, GLint skipPixels); void setPixelPackState(GLint alignment, GLint rowLength, GLint skipRows, GLint skipPixels);
gl::Error setDrawArraysState(const gl::Data &data, GLint first, GLsizei count);
gl::Error setDrawElementsState(const gl::Data &data, GLsizei count, GLenum type, const GLvoid *indices,
const GLvoid **outIndices);
void syncState(const gl::State &state, const gl::State::DirtyBits &dirtyBits);
private:
gl::Error setGenericDrawState(const gl::Data &data);
const FunctionsGL *mFunctions; const FunctionsGL *mFunctions;
GLuint mProgram; GLuint mProgram;
...@@ -197,6 +200,8 @@ class StateManagerGL final : angle::NonCopyable ...@@ -197,6 +200,8 @@ class StateManagerGL final : angle::NonCopyable
gl::ColorF mClearColor; gl::ColorF mClearColor;
float mClearDepth; float mClearDepth;
GLint mClearStencil; GLint mClearStencil;
gl::State::DirtyBits mLocalDirtyBits;
}; };
} }
......
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