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