Closed Bug 1388254 Opened 7 years ago Closed 7 years ago

Fix borrowed DrawTarget's transform of DXGITextureData.

Categories

(Core :: Graphics: Layers, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla57
Tracking Status
firefox57 --- fixed

People

(Reporter: sotaro, Assigned: sotaro)

References

Details

Attachments

(1 file, 1 obsolete file)

This bug is created based on Bug 1380979 Comment 7.

DrawTarget of DXGITextureData was recycled between Lock()s. But transform of DrawTarget was not reset for each Lock().
Assignee: nobody → sotaro.ikeda.g
Blocks: 1380979
Attachment #8894790 - Flags: review?(nical.bugzilla)
Comment on attachment 8894790 [details] [diff] [review]
patch - Fix borrowed DrawTarget's transform of DXGITextureData

Review of attachment 8894790 [details] [diff] [review]:
-----------------------------------------------------------------

We might need to do something similar with clips and other drawing state? I expect drawing code that pushes clips to be responsible for popping them so it may not be necessary. Maybe it would help if we had a cheap way to clear all of the drawing state (except the rendered texture).
Attachment #8894790 - Flags: review?(nical.bugzilla) → review+
Blocks: 1078994
DrawTarget class has a following member. They might need to be cleared. But I want to leave it for now.

> protected:
>  UserData mUserData;
>  Matrix mTransform;
>  IntRect mOpaqueRect;
>  bool mTransformDirty : 1;
>  bool mPermitSubpixelAA : 1;
>
>  SurfaceFormat mFormat;
Pushed by sikeda@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/a2b2a11109ef
Fix borrowed DrawTarget's transform of DXGITextureData r=nical
https://hg.mozilla.org/mozilla-central/rev/a2b2a11109ef
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla57
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: