Merge "Reset draw modifiers after flushing" into jb-mr2-dev
This commit is contained in:
@@ -372,8 +372,8 @@ status_t DeferredDisplayList::flush(OpenGLRenderer& renderer, Rect& dirty) {
|
||||
renderer.eventMark("Flush");
|
||||
|
||||
renderer.restoreToCount(1);
|
||||
|
||||
status |= replayBatchList(mBatches, renderer, dirty);
|
||||
renderer.resetDrawModifiers();
|
||||
|
||||
DEFER_LOGD("--flush complete, returning %x", status);
|
||||
|
||||
|
||||
@@ -112,10 +112,7 @@ static const Blender gBlendsSwap[] = {
|
||||
|
||||
OpenGLRenderer::OpenGLRenderer():
|
||||
mCaches(Caches::getInstance()), mExtensions(Extensions::getInstance()) {
|
||||
mDrawModifiers.mShader = NULL;
|
||||
mDrawModifiers.mColorFilter = NULL;
|
||||
mDrawModifiers.mHasShadow = false;
|
||||
mDrawModifiers.mHasDrawFilter = false;
|
||||
resetDrawModifiers();
|
||||
|
||||
memcpy(mMeshVertices, gMeshVertices, sizeof(gMeshVertices));
|
||||
|
||||
@@ -1204,6 +1201,13 @@ void OpenGLRenderer::clearLayerRegions() {
|
||||
// State Deferral
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
void OpenGLRenderer::resetDrawModifiers() {
|
||||
mDrawModifiers.mShader = NULL;
|
||||
mDrawModifiers.mColorFilter = NULL;
|
||||
mDrawModifiers.mHasShadow = false;
|
||||
mDrawModifiers.mHasDrawFilter = false;
|
||||
}
|
||||
|
||||
bool OpenGLRenderer::storeDisplayState(DeferredDisplayState& state, int stateDeferFlags) {
|
||||
const Rect& currentClip = *(mSnapshot->clipRect);
|
||||
const mat4& currentMatrix = *(mSnapshot->transform);
|
||||
|
||||
@@ -274,6 +274,7 @@ public:
|
||||
|
||||
SkPaint* filterPaint(SkPaint* paint, bool alwaysCopy = false);
|
||||
|
||||
void resetDrawModifiers();
|
||||
bool storeDisplayState(DeferredDisplayState& state, int stateDeferFlags);
|
||||
void restoreDisplayState(const DeferredDisplayState& state, int stateDeferFlags);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user