Closed
Bug 1220629
Opened 9 years ago
Closed 8 years ago
Implement PushLayer/PopLayer APIs in Moz2D
Categories
(Core :: Graphics, defect)
Core
Graphics
Tracking
()
RESOLVED
FIXED
mozilla46
Tracking | Status | |
---|---|---|
firefox46 | --- | fixed |
People
(Reporter: bas.schouten, Assigned: bas.schouten)
References
Details
Attachments
(8 files, 1 obsolete file)
58 bytes,
text/x-review-board-request
|
jrmuizel
:
review+
|
Details |
58 bytes,
text/x-review-board-request
|
jrmuizel
:
review+
|
Details |
58 bytes,
text/x-review-board-request
|
jrmuizel
:
review+
|
Details |
58 bytes,
text/x-review-board-request
|
jrmuizel
:
review+
|
Details |
58 bytes,
text/x-review-board-request
|
jrmuizel
:
review+
|
Details |
58 bytes,
text/x-review-board-request
|
jrmuizel
:
review+
|
Details |
58 bytes,
text/x-review-board-request
|
jrmuizel
:
review+
|
Details |
58 bytes,
text/x-review-board-request
|
jrmuizel
:
review+
|
Details |
We want to implement Push and PopLayer as first class citizens in Moz2D. This will allow for better performance by allowing DrawTargets to use internal optimizations for these calls rather than forcing the creation of temporary DrawTargets.
Assignee | ||
Comment 1•9 years ago
|
||
Attachment #8681934 -
Flags: review?(jmuizelaar)
Updated•9 years ago
|
Attachment #8681934 -
Flags: review?(jmuizelaar) → review+
Assignee | ||
Comment 2•8 years ago
|
||
Review commit: https://reviewboard.mozilla.org/r/29427/diff/#index_header See other reviews: https://reviewboard.mozilla.org/r/29427/
Attachment #8703664 -
Flags: review?(jmuizelaar)
Assignee | ||
Comment 3•8 years ago
|
||
Review commit: https://reviewboard.mozilla.org/r/29429/diff/#index_header See other reviews: https://reviewboard.mozilla.org/r/29429/
Attachment #8703665 -
Flags: review?(jmuizelaar)
Assignee | ||
Comment 4•8 years ago
|
||
Review commit: https://reviewboard.mozilla.org/r/29431/diff/#index_header See other reviews: https://reviewboard.mozilla.org/r/29431/
Attachment #8703666 -
Flags: review?(jmuizelaar)
Assignee | ||
Comment 5•8 years ago
|
||
Review commit: https://reviewboard.mozilla.org/r/29433/diff/#index_header See other reviews: https://reviewboard.mozilla.org/r/29433/
Attachment #8703667 -
Flags: review?(jmuizelaar)
Assignee | ||
Comment 6•8 years ago
|
||
Review commit: https://reviewboard.mozilla.org/r/29435/diff/#index_header See other reviews: https://reviewboard.mozilla.org/r/29435/
Attachment #8703668 -
Flags: review?(jmuizelaar)
Assignee | ||
Comment 7•8 years ago
|
||
Review commit: https://reviewboard.mozilla.org/r/29437/diff/#index_header See other reviews: https://reviewboard.mozilla.org/r/29437/
Attachment #8703669 -
Flags: review?(jmuizelaar)
Assignee | ||
Comment 8•8 years ago
|
||
Review commit: https://reviewboard.mozilla.org/r/29439/diff/#index_header See other reviews: https://reviewboard.mozilla.org/r/29439/
Attachment #8703670 -
Flags: review?(jmuizelaar)
Assignee | ||
Comment 9•8 years ago
|
||
Review commit: https://reviewboard.mozilla.org/r/29441/diff/#index_header See other reviews: https://reviewboard.mozilla.org/r/29441/
Attachment #8703678 -
Flags: review?(jmuizelaar)
Assignee | ||
Updated•8 years ago
|
Attachment #8681934 -
Attachment is obsolete: true
Comment 10•8 years ago
|
||
Comment on attachment 8703665 [details] MozReview Request: Bug 1220629 - Part 2: Prepare DrawTargetD2D1 for the possibilities of layers existing inside it. r=jrmuizel https://reviewboard.mozilla.org/r/29429/#review26227
Attachment #8703665 -
Flags: review?(jmuizelaar) → review+
Assignee | ||
Comment 11•8 years ago
|
||
Comment on attachment 8703666 [details] MozReview Request: Bug 1220629 - Part 3: Implement PushLayer/PopLayer API in cairo. r=jrmuizel Review request updated; see interdiff: https://reviewboard.mozilla.org/r/29431/diff/1-2/
Assignee | ||
Comment 12•8 years ago
|
||
Comment on attachment 8703667 [details] MozReview Request: Bug 1220629 - Part 4: Allow gfxContext to use the native pushlayer implementations based on a pref. r=jrmuizel Review request updated; see interdiff: https://reviewboard.mozilla.org/r/29433/diff/1-2/
Assignee | ||
Comment 13•8 years ago
|
||
Comment on attachment 8703668 [details] MozReview Request: Bug 1220629 - Part 5: Implement PushLayer/PopLayer API for Direct2D 1.1. r=jrmuizel Review request updated; see interdiff: https://reviewboard.mozilla.org/r/29435/diff/1-2/
Assignee | ||
Comment 14•8 years ago
|
||
Comment on attachment 8703669 [details] MozReview Request: Bug 1220629 - Part 6: Implement PushLayer/PopLayer API in several wrapper DT types. r=jrmuizel Review request updated; see interdiff: https://reviewboard.mozilla.org/r/29437/diff/1-2/
Assignee | ||
Comment 15•8 years ago
|
||
Comment on attachment 8703670 [details] MozReview Request: Bug 1220629 - Part 7: Mark several reftests fuzzy. r=jrmuizel Review request updated; see interdiff: https://reviewboard.mozilla.org/r/29439/diff/1-2/
Assignee | ||
Comment 16•8 years ago
|
||
Comment on attachment 8703678 [details] MozReview Request: Bug 1220629 - Part 8: Enable native PushLayer/PopLayer by default on Windows and Linux. r=jrmuizel Review request updated; see interdiff: https://reviewboard.mozilla.org/r/29441/diff/1-2/
Assignee | ||
Comment 17•8 years ago
|
||
Comment on attachment 8703666 [details] MozReview Request: Bug 1220629 - Part 3: Implement PushLayer/PopLayer API in cairo. r=jrmuizel Review request updated; see interdiff: https://reviewboard.mozilla.org/r/29431/diff/2-3/
Assignee | ||
Comment 18•8 years ago
|
||
Comment on attachment 8703667 [details] MozReview Request: Bug 1220629 - Part 4: Allow gfxContext to use the native pushlayer implementations based on a pref. r=jrmuizel Review request updated; see interdiff: https://reviewboard.mozilla.org/r/29433/diff/2-3/
Assignee | ||
Comment 19•8 years ago
|
||
Comment on attachment 8703668 [details] MozReview Request: Bug 1220629 - Part 5: Implement PushLayer/PopLayer API for Direct2D 1.1. r=jrmuizel Review request updated; see interdiff: https://reviewboard.mozilla.org/r/29435/diff/2-3/
Assignee | ||
Comment 20•8 years ago
|
||
Comment on attachment 8703669 [details] MozReview Request: Bug 1220629 - Part 6: Implement PushLayer/PopLayer API in several wrapper DT types. r=jrmuizel Review request updated; see interdiff: https://reviewboard.mozilla.org/r/29437/diff/2-3/
Assignee | ||
Comment 21•8 years ago
|
||
Comment on attachment 8703670 [details] MozReview Request: Bug 1220629 - Part 7: Mark several reftests fuzzy. r=jrmuizel Review request updated; see interdiff: https://reviewboard.mozilla.org/r/29439/diff/2-3/
Assignee | ||
Comment 22•8 years ago
|
||
Comment on attachment 8703678 [details] MozReview Request: Bug 1220629 - Part 8: Enable native PushLayer/PopLayer by default on Windows and Linux. r=jrmuizel Review request updated; see interdiff: https://reviewboard.mozilla.org/r/29441/diff/2-3/
Comment 23•8 years ago
|
||
Comment on attachment 8703664 [details] MozReview Request: Bug 1220629 - Part 1: Add PushLayer/PopLayer API to DrawTarget baseclass. r=jrmuizel https://reviewboard.mozilla.org/r/29427/#review26387
Attachment #8703664 -
Flags: review?(jmuizelaar) → review+
Comment 24•8 years ago
|
||
Comment on attachment 8703666 [details] MozReview Request: Bug 1220629 - Part 3: Implement PushLayer/PopLayer API in cairo. r=jrmuizel https://reviewboard.mozilla.org/r/29431/#review26173 ::: gfx/2d/DrawTargetCairo.cpp:1543 (Diff revision 1) > + } Lifting this if condition inside the one above makes it easier for me to understand what's going on. } else { if (layer.mOpacity != Float(1.0)) { cairo_push_group_with_content(mContext, CAIRO_CONTENT_COLOR_ALPHA); // Now draw the content using the desired operator cairo_paint_with_alpha(mContext, layer.mOpacity); cairo_pop_group_to_source(mContext); } cairo_mask(mContext, layer.mMaskPattern); }
Attachment #8703666 -
Flags: review?(jmuizelaar) → review+
Comment 25•8 years ago
|
||
Comment on attachment 8703667 [details] MozReview Request: Bug 1220629 - Part 4: Allow gfxContext to use the native pushlayer implementations based on a pref. r=jrmuizel https://reviewboard.mozilla.org/r/29433/#review26399
Attachment #8703667 -
Flags: review?(jmuizelaar) → review+
Comment 26•8 years ago
|
||
Comment on attachment 8703669 [details] MozReview Request: Bug 1220629 - Part 6: Implement PushLayer/PopLayer API in several wrapper DT types. r=jrmuizel https://reviewboard.mozilla.org/r/29437/#review26401
Attachment #8703669 -
Flags: review?(jmuizelaar) → review+
Updated•8 years ago
|
Attachment #8703670 -
Flags: review?(jmuizelaar) → review+
Comment 27•8 years ago
|
||
Comment on attachment 8703670 [details] MozReview Request: Bug 1220629 - Part 7: Mark several reftests fuzzy. r=jrmuizel https://reviewboard.mozilla.org/r/29439/#review26403
Comment 28•8 years ago
|
||
Comment on attachment 8703678 [details] MozReview Request: Bug 1220629 - Part 8: Enable native PushLayer/PopLayer by default on Windows and Linux. r=jrmuizel https://reviewboard.mozilla.org/r/29441/#review26405
Attachment #8703678 -
Flags: review?(jmuizelaar) → review+
Updated•8 years ago
|
Attachment #8703668 -
Flags: review?(jmuizelaar) → review+
Comment 29•8 years ago
|
||
Comment on attachment 8703668 [details] MozReview Request: Bug 1220629 - Part 5: Implement PushLayer/PopLayer API for Direct2D 1.1. r=jrmuizel https://reviewboard.mozilla.org/r/29435/#review26407 ::: gfx/2d/DrawTargetD2D.cpp:2724 (Diff revision 3) > - //options.debugLevel = D2D1_DEBUG_LEVEL_INFORMATION; > + options.debugLevel = D2D1_DEBUG_LEVEL_INFORMATION; Was this change intentional? ::: gfx/2d/DrawTargetD2D1.cpp:762 (Diff revision 3) > + image->QueryInterface((ID2D1Bitmap**)getter_AddRefs(bitmap)); What if image is not a ID2D1Bitmap? Do we ever have non ID2D1Bitmaps in SourceSurfaces? ::: gfx/2d/DrawTargetD2D1.cpp:769 (Diff revision 3) > + clip->Open(getter_AddRefs(sink)); It'd be nice to have a helper that takes a rect and adds it to the path, instead of open coding this inline. ::: gfx/2d/HelpersD2D.h:840 (Diff revision 3) > + There's a bunch of these trailing spaces.
Assignee | ||
Comment 30•8 years ago
|
||
https://reviewboard.mozilla.org/r/29435/#review26407 > Was this change intentional? Nope, you're absolutely right! > What if image is not a ID2D1Bitmap? Do we ever have non ID2D1Bitmaps in SourceSurfaces? No, we already have places which depend on this.
Assignee | ||
Comment 31•8 years ago
|
||
Comment on attachment 8703664 [details] MozReview Request: Bug 1220629 - Part 1: Add PushLayer/PopLayer API to DrawTarget baseclass. r=jrmuizel Review request updated; see interdiff: https://reviewboard.mozilla.org/r/29427/diff/1-2/
Assignee | ||
Comment 32•8 years ago
|
||
Comment on attachment 8703665 [details] MozReview Request: Bug 1220629 - Part 2: Prepare DrawTargetD2D1 for the possibilities of layers existing inside it. r=jrmuizel Review request updated; see interdiff: https://reviewboard.mozilla.org/r/29429/diff/1-2/
Assignee | ||
Comment 33•8 years ago
|
||
Comment on attachment 8703666 [details] MozReview Request: Bug 1220629 - Part 3: Implement PushLayer/PopLayer API in cairo. r=jrmuizel Review request updated; see interdiff: https://reviewboard.mozilla.org/r/29431/diff/3-4/
Assignee | ||
Comment 34•8 years ago
|
||
Comment on attachment 8703667 [details] MozReview Request: Bug 1220629 - Part 4: Allow gfxContext to use the native pushlayer implementations based on a pref. r=jrmuizel Review request updated; see interdiff: https://reviewboard.mozilla.org/r/29433/diff/3-4/
Assignee | ||
Comment 35•8 years ago
|
||
Comment on attachment 8703668 [details] MozReview Request: Bug 1220629 - Part 5: Implement PushLayer/PopLayer API for Direct2D 1.1. r=jrmuizel Review request updated; see interdiff: https://reviewboard.mozilla.org/r/29435/diff/3-4/
Assignee | ||
Comment 36•8 years ago
|
||
Comment on attachment 8703669 [details] MozReview Request: Bug 1220629 - Part 6: Implement PushLayer/PopLayer API in several wrapper DT types. r=jrmuizel Review request updated; see interdiff: https://reviewboard.mozilla.org/r/29437/diff/3-4/
Assignee | ||
Comment 37•8 years ago
|
||
Comment on attachment 8703670 [details] MozReview Request: Bug 1220629 - Part 7: Mark several reftests fuzzy. r=jrmuizel Review request updated; see interdiff: https://reviewboard.mozilla.org/r/29439/diff/3-4/
Assignee | ||
Comment 38•8 years ago
|
||
Comment on attachment 8703678 [details] MozReview Request: Bug 1220629 - Part 8: Enable native PushLayer/PopLayer by default on Windows and Linux. r=jrmuizel Review request updated; see interdiff: https://reviewboard.mozilla.org/r/29441/diff/3-4/
Comment 39•8 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/8bd590cba7fd https://hg.mozilla.org/integration/mozilla-inbound/rev/97be7e6c0313 https://hg.mozilla.org/integration/mozilla-inbound/rev/7d22446ef1ba https://hg.mozilla.org/integration/mozilla-inbound/rev/853ea2b1f19d https://hg.mozilla.org/integration/mozilla-inbound/rev/fd2e3fed3792 https://hg.mozilla.org/integration/mozilla-inbound/rev/4358152749cf https://hg.mozilla.org/integration/mozilla-inbound/rev/5ad8cc29306f https://hg.mozilla.org/integration/mozilla-inbound/rev/d74084d072f0
Comment 40•8 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/8bd590cba7fd https://hg.mozilla.org/mozilla-central/rev/97be7e6c0313 https://hg.mozilla.org/mozilla-central/rev/7d22446ef1ba https://hg.mozilla.org/mozilla-central/rev/853ea2b1f19d https://hg.mozilla.org/mozilla-central/rev/fd2e3fed3792 https://hg.mozilla.org/mozilla-central/rev/4358152749cf https://hg.mozilla.org/mozilla-central/rev/5ad8cc29306f https://hg.mozilla.org/mozilla-central/rev/d74084d072f0
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
status-firefox46:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla46
You need to log in
before you can comment on or make changes to this bug.
Description
•