Bug 1815404 - The drawTarget wrapped by a gfxContext never changes, so doesn't need to be stored in AzureState. r=gfx-reviewers,lsalzman

Differential Revision: https://phabricator.services.mozilla.com/D170367
This commit is contained in:
Jonathan Kew 2023-02-21 07:28:23 +00:00
parent d2bc3ab30b
commit 64fac83d98
2 changed files with 2 additions and 6 deletions

View File

@ -57,7 +57,6 @@ gfxContext::gfxContext(DrawTarget* aTarget, const Point& aDeviceOffset)
}
mStateStack.SetLength(1);
CurrentState().drawTarget = mDT;
CurrentState().deviceOffset = aDeviceOffset;
mDT->SetTransform(GetDTTransform());
}
@ -94,7 +93,7 @@ already_AddRefed<gfxContext> gfxContext::CreatePreservingTransformOrNull(
gfxContext::~gfxContext() {
for (int i = mStateStack.Length() - 1; i >= 0; i--) {
for (unsigned int c = 0; c < mStateStack[i].pushedClips.Length(); c++) {
mStateStack[i].drawTarget->PopClip();
mDT->PopClip();
}
}
}
@ -158,8 +157,6 @@ void gfxContext::Restore() {
mStateStack.RemoveLastElement();
mDT = CurrentState().drawTarget;
ChangeTransform(CurrentState().transform, false);
}

View File

@ -486,7 +486,6 @@ class gfxContext final {
CopyableTArray<PushedClip> pushedClips;
CopyableTArray<Float> dashPattern;
StrokeOptions strokeOptions;
RefPtr<DrawTarget> drawTarget;
mozilla::gfx::AntialiasMode aaMode;
bool patternTransformChanged;
Matrix patternTransform;
@ -523,7 +522,7 @@ class gfxContext final {
return mStateStack[mStateStack.Length() - 1];
}
RefPtr<DrawTarget> mDT;
RefPtr<DrawTarget> const mDT;
float mCrossProcessPaintScale = 1.0f;
};