Граф коммитов

406 Коммитов

Автор SHA1 Сообщение Дата
JerryShih e3383b4f98 Bug 1369677 - Handle RenderTexture lock() failed. r=nical
MozReview-Commit-ID: Ghez1SJ6ghf
2017-08-31 03:17:00 -04:00
Kartikaya Gupta 21ac463b1b Bug 1395212 - Avoid computing the entire ScrollMetadata for cases where we just need the scroll id. r=mstange
MozReview-Commit-ID: BEYfq2EqIel

--HG--
extra : rebase_source : 7315123162b80758be347c243375e28462352e06
2017-08-30 14:51:19 -04:00
Kartikaya Gupta 543988e106 Bug 1395212 - Update wr::DisplayListBuilder to expose separate APIs for defining and pushing scroll layers. r=mstange
This makes the DisplayListBuilder scrolling API more consistent with the
clipping API, and allows for more optimization at the call site (in the next
patch).

MozReview-Commit-ID: LdCA7wkXDwF

--HG--
extra : rebase_source : 1fe934e778c597f6a639ad2ecbda46995f8fd09e
2017-08-30 14:51:19 -04:00
Kartikaya Gupta b8355b02c7 Bug 1395212 - Hoist the scroll layer deduplication code out of bindings.rs into wr::DisplayListBuilder. r=mstange
This also splits the wr_dp_push_scroll_layer function in bindings.rs into two
separate functions. This makes the API consistent with clipping, and also allows
for optimizations in the upcoming patches.

MozReview-Commit-ID: IXnOZK0dZm

--HG--
extra : rebase_source : aa28875433a03ee9d6c388750f022958958d05e9
2017-08-30 14:51:19 -04:00
sotaro ac34705d9c Bug 1395110 - Remove ScopedBindTextureUnit from RenderDXGITextureHostOGL::EnsureLockable() r=nical 2017-08-30 21:29:48 +09:00
sotaro 11c145a7c1 Bug 1394338 - Add WebRender error handling to RendererOGL r=nical 2017-08-30 09:10:22 +09:00
Kartikaya Gupta 8933bc1c63 Bug 1394518 - Log the mWrState pointer in WRDL_LOG so we can distinguish the output from different pipelines. r=jrmuizel
MozReview-Commit-ID: A3KDJyBmSCX

--HG--
extra : rebase_source : e5f8f4a3e6e16ed88bb8c8acf28f97fd45f02850
2017-08-28 14:20:25 -04:00
Dzmitry Malyshau 0f699bc3ed Bug 1393468 - Fix for changes in WR cset 460a1ae9. r=jrmuizel
MozReview-Commit-ID: FOc07gJbfZY

--HG--
extra : rebase_source : 794c0bcc23091920ea35af76f9efb1997a963521
2017-08-28 09:27:48 -04:00
Kartikaya Gupta 2b2a05eaba Bug 1393468 - Regenerate FFI bindings header. r=jrmuizel
MozReview-Commit-ID: Kjy5LKXpicj

--HG--
extra : rebase_source : 690032246d0bdba4c5ee1439edb5551ffd9f60ba
2017-08-28 09:27:05 -04:00
Jeff Muizelaar 1dcc5366ff Bug 1387550 - Support tiled drawing of blob images in Gecko.
Tiling will be used when we need an image that's larger than
the max texture size.
2017-08-26 17:31:25 -04:00
Sebastian Hengst 4814ba9f4f Backed out changeset 326d1e6cf7b1 (bug 1393031) for bustage at gfx/layers/opengl/MacIOSurfaceTextureHostOGL.cpp:178: no member named 'AddExternalImage' in 'mozilla::wr::WebRenderAPI' on OS X and also bustage on Windows. r=backout on a CLOSED TREE 2017-08-25 12:42:01 +02:00
Sebastian Hengst 82246334ad Backed out changeset 663105088e1e (bug 1393031) 2017-08-25 12:40:37 +02:00
Nicolas Silva abdcea3c3b Bug 1393031 - Make ResourceUpdateQueue move-only. r=sotaro 2017-08-25 11:58:05 +02:00
Nicolas Silva d415c1134b Bug 1393031 - Expose WebRender's ResourceUpdates to C++. r=sotaro 2017-08-25 11:58:00 +02:00
Kartikaya Gupta 20b72b068b Bug 1393461 - Regenerate webrender_ffi_generated with cbindgen:0.1.23. r=jrmuizel
MozReview-Commit-ID: 7SX5isYVTl0

--HG--
extra : rebase_source : 2ee4ed248b7012268a596974b2e468f01cd419c9
2017-08-24 10:33:24 -04:00
Kartikaya Gupta 93e44f9dee Bug 1393461 - Update cbindgen.toml to note that cbindgen needs nightly. r=jrmuizel
MozReview-Commit-ID: Fs8VvriGOnA

--HG--
extra : rebase_source : d1838920e02a797bd4f85bec25f545294ee10576
2017-08-24 10:17:12 -04:00
Ethan Lin 376639c99a Bug 1392921 - In TopmostScrollId(), return FrameMetrics::NULL_SCROLL_ID when the scroll id stack is empty. r=kats
MozReview-Commit-ID: 3kmgsisMhW5

--HG--
extra : rebase_source : d9e20940fcc5c1790dbf4f3b6b2769b1fd054121
2017-08-23 14:46:38 +08:00
Nicolas Silva 9f6f1a7d88 Bug 1390840 - Add prefs to display the debugging view of webrender's texture cache and intermediate targets. r=jrmuizel 2017-08-23 12:00:37 +02:00
Sebastian Hengst 029f702dfd Backed out changeset 483991689217 (bug 1390840) for bustage at dist/include/mozilla/webrender/webrender_ffi_generated.h:1199: expected ',' before ')' token. r=backout 2017-08-21 18:39:59 +02:00
Sebastian Hengst 441fc1a176 Backed out changeset b9c53ad8893b (bug 1390840) 2017-08-21 18:38:22 +02:00
Nicolas Silva 55bbef54aa Bug 1390840 - Add prefs to display the debugging view of webrender's texture cache and intermediate targets. r=jrmuizel 2017-08-21 18:22:56 +02:00
Nicolas Silva 27126ac4d3 Bug 1390840 - Use cbindgen 0.1.21 in webrender's binding. r=jrmuizel 2017-08-21 18:22:45 +02:00
Kartikaya Gupta 4d8c254efc Bug 1389497 - Re-generate FFI header for change in WR cset 615bbe8. r=jrmuizel
MozReview-Commit-ID: 1rgTEUYOW1j

--HG--
extra : rebase_source : b5e016bf6428564c0815fcdd1eac0c8fbfc7cd0b
2017-08-18 09:13:15 -04:00
Kartikaya Gupta 36bcefa513 Bug 1389497 - Update bindings for API change in WR cset 63ec62c. r=kvark
MozReview-Commit-ID: 7vCZWSfb9Hh

--HG--
extra : rebase_source : 2be5ec3723c10d10fd912abe776c7a993e3ac57c
2017-08-18 08:57:09 -04:00
Kartikaya Gupta 83c2515b8a Bug 1389497 - Update webrender to commit 1007a65c6dd1fdfb8b39d57d7faff3cae7b32e0c. r=jrmuizel
MozReview-Commit-ID: LLg2tnX9LYu

--HG--
extra : rebase_source : 9fbbd518af8a3e2727edfe92ebf6171f272e9d65
2017-08-18 08:51:39 -04:00
Kartikaya Gupta 7017055b92 Bug 1390804 - When pushing a mask clip, don't record it in DisplayListBuilder's clip stack. r=ethlin
Recording mask clips in the clip stack changes the value of TopmostClipId()
which confuses the code in ScrollingLayersHelper. The mask clip can be
thought of as an "out-of-band" clip that ScrollingLayersHelper doesn't
need to know about. This patch adds a mechanism for pushing such
"out-of-band" clips without touching the clip stack.

MozReview-Commit-ID: 8Zeqtigk0cj

--HG--
extra : rebase_source : 35176f3c9d98d186f78d7a0ff44845c7c3c9f67e
2017-08-17 13:54:25 -04:00
Alexis Beingessner 9c4535798f Bug 1357545 - handle text-shadows/decorations with webrender (layers-free) r=jrmuizel
This replaces our DrawTargetCapture hack with a similar but more powerful TextDrawTarget
hack. The old design had several limitations:

* It couldn't handle shadows
* It couldn't handle selections
* It couldn't handle font/color changes in a single text-run
* It couldn't handle decorations (underline, overline, line-through)

Mostly this was a consequence of the fact that it only modified the start and end
of the rendering algorithm, and therefore couldn't distinguish draw calls for different
parts of the text.

This new design is based on a similar principle as DrawTargetCapture, but also passes
down the TextDrawTarget in the drawing arguments, so that the drawing algorithm can
notify us of changes in phase (e.g. "now we're doing underlines"). This also lets us
directly pass data to TextDrawTarget when possible (as is done for shadows and selections).

In doing this, I also improved the logic copied from ContainsOnlyColoredGlyphs to handle
changes in font/color mid-text-run (which can happen because of font fallback).

The end result is:

* We handle all shadows natively
* We handle all selections natively
* We handle all decorations natively
* We handle font/color changes in a single text-run
    * Although we still hackily intercept draw calls
    * But we don't need to buffer commands, reducing total memcopies

In addition, this change integrates webrender's PushTextShadow and PushLine APIs,
which were designed for this use case. This is only done in the layerless path;
WebrenderTextLayer continues to be semantically limited, as we aren't actively
maintaining non-layers-free webrender anymore.

This also doesn't modify TextLayers, to minimize churn. In theory they can be
augmented to support the richer semantics that TextDrawTarget has, but there's
little motivation since the API is largely unused with this change.

MozReview-Commit-ID: 4IjTsSW335h

--HG--
extra : rebase_source : d69f69648ade5c7a8e6bb756f4b8ab9e2543e576
2017-06-19 10:58:28 -04:00
Kartikaya Gupta 24d7292dde Bug 1389138 - Add helper to track the topmost scroll id on the WR stack. r=mstange
Note that when PushClipAndScrollInfo is called, we are pushing an
already-defined scrolling clip onto the stack, and anything that gets
pushed inside it is going to be defined as being inside that scrolling
clip. So we need to make sure to update the scroll id stack for those
calls as well. This was an oversight previously but it never mattered.

MozReview-Commit-ID: D40Gk00HYrq

--HG--
extra : rebase_source : 677a92f918481a73877f551b9ac32975e0110be9
2017-08-17 11:06:51 -04:00
Kartikaya Gupta 1155831470 Bug 1389138 - Introduce a variant type to allow unifying the clip and scroll ids. r=mstange
This allows us to keep a single stack where we track both clip ids and
scroll ids with the correct interleaving order that they were pushed in.

MozReview-Commit-ID: DHHfR8JnnBw

--HG--
extra : rebase_source : f2f80e89a400d5b9982d138b29e534701b247072
2017-08-17 11:06:31 -04:00
Sebastian Hengst 953d244299 Backed out changeset 442b037713d6 (bug 1389138) 2017-08-17 21:08:20 +02:00
Sebastian Hengst 6c9b12dc58 Backed out changeset d45e64ac4452 (bug 1389138) 2017-08-17 21:08:14 +02:00
Kartikaya Gupta 0f4e894586 Bug 1389138 - Add helper to track the topmost scroll id on the WR stack. r=mstange
Note that when PushClipAndScrollInfo is called, we are pushing an
already-defined scrolling clip onto the stack, and anything that gets
pushed inside it is going to be defined as being inside that scrolling
clip. So we need to make sure to update the scroll id stack for those
calls as well. This was an oversight previously but it never mattered.

MozReview-Commit-ID: D40Gk00HYrq

--HG--
extra : rebase_source : beee11f8694489183dbeb4edcd95d89f55656486
2017-08-17 11:06:51 -04:00
Kartikaya Gupta b3f900ac81 Bug 1389138 - Introduce a variant type to allow unifying the clip and scroll ids. r=mstange
This allows us to keep a single stack where we track both clip ids and
scroll ids with the correct interleaving order that they were pushed in.

MozReview-Commit-ID: DHHfR8JnnBw

--HG--
extra : rebase_source : 1eff7698ecc724b5457bdf67a6c4a70605038184
2017-08-17 11:06:31 -04:00
Wes Kocher 7a772df5bf Merge m-c to inbound, a=merge
MozReview-Commit-ID: BYZASFIrXxp
2017-08-14 17:58:17 -07:00
Wes Kocher 214677ea41 Merge autoland to central, a=merge
MozReview-Commit-ID: 9BfFPDy1vO7

--HG--
rename : browser/extensions/onboarding/content/img/icons_search-colored.svg => browser/extensions/onboarding/content/img/icons_singlesearch-colored.svg
rename : browser/extensions/onboarding/content/img/icons_search.svg => browser/extensions/onboarding/content/img/icons_singlesearch.svg
2017-08-14 17:28:19 -07:00
Morris Tseng 6391dec171 Bug 1389027 - Support nsDisplayPerspective in layers-free mode. r=kats
MozReview-Commit-ID: K0RCuQ8WEE3
2017-08-14 17:31:55 +08:00
Milan Sreckovic f330369b4e Bug 1387514: Upgrade BaseRect (derived classes) width and height direct member variable use to instead use Width()/SetWidth() and Height()/SetHeight() in .h files in gfx/*. r=botond
MozReview-Commit-ID: 4knfAC1HTI1

--HG--
extra : rebase_source : 6ac939b478d22d429e8643e6ba96e372d8220bfb
2017-08-14 08:28:11 -04:00
Jeff Muizelaar 7d06275014 Bug 1387301 - webrender_bindings: Remove a bunch of now unneeded into()s. r=kats 2017-08-14 15:18:38 -04:00
JerryShih 7b702f3d00 Bug 1352092 - Get the max texture size from WR. r=nical
The gecko side just queries the max texture size from gl context[1]. We
should query that size from WR.

[1]
https://dxr.mozilla.org/mozilla-central/rev/4c5fbf49376351679dcc49f4cff26c3c2e055ccc/gfx/webrender_bindings/WebRenderAPI.cpp#72

MozReview-Commit-ID: 6RQ8ZW9mWSE
2017-08-12 13:41:56 +08:00
Wes Kocher 5a4357c768 Merge inbound to central, a=merge
MozReview-Commit-ID: GArkKmOFIVH
2017-08-11 13:15:33 -07:00
Wes Kocher cff9e9b197 Merge m-c to autoland, a=merge
MozReview-Commit-ID: 2YvHbITn9w3
2017-08-10 18:25:34 -07:00
Sebastian Hengst 51d351f567 merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-08-10 17:41:11 +02:00
Kartikaya Gupta b36bbd4e9a Bug 1386483 - Push, push, push the clips, caching all the way. r=jrmuizel,mstange
This patch ensures that we push clips in WR for each display item,
reflecting the display item's clip chain as computed in Gecko. A display
item will often share part or most of its clip chain with other display
items, so we try to reuse the corresponding WR clip ids as much as we
can instead of defining new duplicated clips.

MozReview-Commit-ID: LkBh8LIpQ4J

--HG--
extra : rebase_source : 5af1de0931f1d059e98b5c66b15988961503e114
2017-08-08 15:43:29 -04:00
Kartikaya Gupta f10ce62128 Bug 1386483 - Split the wr_dp_push_clip method into two to allow reusing clips. r=jrmuizel
MozReview-Commit-ID: 90BEJGs8wGg

--HG--
extra : rebase_source : 9ef113bee43391c00912457afc395284899a23cb
2017-08-08 15:43:17 -04:00
Kartikaya Gupta be4742a4fb Bug 1385003 - Add missing call to deinit the renderer before dropping it. r=kvark
MozReview-Commit-ID: 3dmttqFqMJE

--HG--
extra : rebase_source : 7e122d07e086e4ad26255079edf3e1de309b685b
2017-08-09 10:46:53 -04:00
Kartikaya Gupta 01928f3eb3 Bug 1385003 - Update webrender bindings for API change in WR cset c7a5b78d. r=nical
MozReview-Commit-ID: DY5vwlv4JYM

--HG--
extra : rebase_source : 265cce68c927833120dcc55c0a1b230f6e042efc
2017-08-09 08:46:26 -04:00
Kartikaya Gupta 4088068ad0 Bug 1385003 - Update webrender bindings for API changes in WR cset 55acc967. r=nical
MozReview-Commit-ID: 3pW2ssFdb50

--HG--
extra : rebase_source : 22892c92f130ae429cce5c42f27b57068d9f08ee
2017-08-09 08:46:26 -04:00
Kartikaya Gupta bdee759275 Bug 1385003 - Autogenerated changes to go with webrender update. r=jrmuizel
This regenerates the cargo lockfiles and FFI bindings header. It also revendors
the third_party/rust libraries.

MozReview-Commit-ID: ID0YhoIH6cz

--HG--
extra : rebase_source : 7c22828a831eafcf527f2c3baf8d4d012db8f9a4
2017-08-09 08:46:25 -04:00
sotaro 162dcae649 Bug 1385003 - Use a different WebRenderAPI instance for each WebRenderBridgeParent. r=kats
Previously, the WebRenderBridgeParent for each content layer tree would use the
same WebRenderAPI instance as the top-level WebRenderBridgeParent for that window.
However, in order to make the namespacing changes work we now need to use a
separate WebRenderAPI instance for each WebRenderBridgeParent. The content
WebRenderAPIs are cloned from the parent one, so that they all share the same
backend, but can allocate resource IDs in distinct namespaces.

MozReview-Commit-ID: 7VTFL8F09n7

--HG--
extra : rebase_source : 2da1d03abc23bd7852e4b12fe133889bd80cad53
2017-08-09 08:46:25 -04:00
Kartikaya Gupta c18e91b352 Bug 1385003 - Update webrender bindings for API changes in WR cset f6d81d9. r=kvark
In theory the upstream API change should allow us to share the same WR renderer
instance across multiple WebRenderAPI instances. For now however I retain the
existing behaviour of one WR instance for each WebRenderAPI instance, but keep
track of the document id in a new DocumentHandle struct. The C++ side keeps
a pointer to this DocumentHandle struct instead of the raw RenderApi.

MozReview-Commit-ID: I9pCKOY1OYx

--HG--
extra : rebase_source : 7b0ae2ccb2692a76045371ac165468c7f7539b40
2017-08-09 08:46:24 -04:00