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

1723 Коммитов

Автор SHA1 Сообщение Дата
Jeff Muizelaar 3e4eb446aa Bug 1563770. Always include a visible rect with blob images. r=nical
I suspect we may change things more in the future as we blob's size
just be the visible rect but this is an incremental step in the right
direction.

It also includes some changes to make sure that we always update our
tiles appropriately.

Differential Revision: https://phabricator.services.mozilla.com/D37079

--HG--
extra : moz-landing-system : lando
2019-07-11 02:32:35 +00:00
Connor Brewster 76b9b0a883 Bug 1555483 - Part 3: Add SVG render task and shader r=gw
The SVG task supports the pre-existing SVG filters along with Blend.

Differential Revision: https://phabricator.services.mozilla.com/D34091

--HG--
extra : moz-landing-system : lando
2019-07-10 22:37:30 +00:00
Csoregi Natalia 35c91265f9 Merge mozilla-central to mozilla-inbound. CLOSED TREE 2019-07-12 02:09:04 +03:00
Jeff Gilbert a4edc05171 No bug - clang-format dom/canvas, gfx/[gl,layers,webrender_bindings]. 2019-07-11 15:36:44 -07:00
Noemi Erli 7ac279ac4a Backed out 5 changesets (bug 1555483) for causing wrench bustages CLOSED TREE
Backed out changeset 8149efc1f813 (bug 1555483)
Backed out changeset 917f800e4e43 (bug 1555483)
Backed out changeset 418839320ab5 (bug 1555483)
Backed out changeset 134a51a0e034 (bug 1555483)
Backed out changeset 7c43dc769da7 (bug 1555483)

--HG--
rename : gfx/wr/wrench/reftests/filters/svg-filter-flood-ref.yaml => gfx/wr/wrench/reftests/filters/filter-flood-ref.yaml
rename : gfx/wr/wrench/reftests/filters/svg-filter-flood.yaml => gfx/wr/wrench/reftests/filters/filter-flood.yaml
2019-07-10 23:27:36 +03:00
Connor Brewster 31021a43ce Bug 1555483 - Part 3: Add SVG render task and shader r=gw
The SVG task supports the pre-existing SVG filters along with Blend.

Differential Revision: https://phabricator.services.mozilla.com/D34091

--HG--
extra : moz-landing-system : lando
2019-07-10 02:17:21 +00:00
Barret Rennie 942eaabecc Bug 1289211 - Rename InfallibleTArray to nsTArray in gfx/webrender_bindings/ r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D36957

--HG--
extra : moz-landing-system : lando
2019-07-10 03:30:18 +00:00
Andreea Pavel 0f343bbb5a Backed out changeset 29b1742d1d3b (bug 1563770) WR bustages on a CLOSED TREE 2019-07-10 17:17:01 +03:00
Jeff Muizelaar 3cc5f09011 Bug 1563775. Include the recording origin in the stream. r=nical
This will let us do the subtraction of the recording origin during
playback instead of during recording.

It will also let us merge recordings that have different origins.

Differential Revision: https://phabricator.services.mozilla.com/D37561

--HG--
extra : moz-landing-system : lando
2019-07-10 14:01:34 +00:00
Jeff Muizelaar ea2bfdae47 Bug 1563770. Always include a visible rect with blob images. r=nical
I suspect we may change things more in the future as we blob's size
just be the visible rect but this is an incremental step in the right
direction.

It also includes some changes to make sure that we always update our
tiles appropriately.

Differential Revision: https://phabricator.services.mozilla.com/D37079

--HG--
extra : moz-landing-system : lando
2019-07-10 13:55:09 +00:00
sotaro 9950199432 Bug 1564720 - Fallback from WebRender when EGLSurface creation failed in RenderCompositorEGL::BeginFrame() r=nical
Differential Revision: https://phabricator.services.mozilla.com/D37520

--HG--
extra : moz-landing-system : lando
2019-07-10 11:14:40 +00:00
Jamie Nicol 191dd4f438 Bug 1535146 - Attempt to load non-startup shaders from disk cache when required. r=bholley
On startup some program binaries are loaded from disk into an
in-memory cache. When we call create_program() we check if the
required program is present in this cache, and if so we call
glProgramBinary(). This is done early on so that the driver can
perform any necessary work in the background.

There may however be binaries in the disk cache that have not yet been
loaded in to memory, in order not to slow down startup. This change
makes it so that we attempt to load missing binaries from disk during
link_program(). The reason we do not do this in create_program() is
because that would result in loading all shaders from disk during
startup, which we want to avoid. Loading these shaders may therefore
take slightly longer than if they'd been loaded at startup, but will
still be much faster than recompiling them from scratch, and startup
will remain quick.

If loading the shaders on startup had previously timed out, then we do
not attempt to load shaders on demand as the disk is probably too slow
for that to be useful.

Depends on D33954

Differential Revision: https://phabricator.services.mozilla.com/D33955

--HG--
extra : moz-landing-system : lando
2019-07-09 16:09:15 +00:00
Jamie Nicol c9c015cbff Bug 1535146 - Use a whitelist to decide which shaders to load from disk on startup. r=bholley
Webrender caches the program binaries of shaders used within the first
ten frames, so that on next startup it can load them from disk rather
than having to recompile them.

Previously it would load all binaries found in the disk cache on
startup, and when saving to the cache it would delete any existing
binaries that weren't used.

This changes it so that unused binaries are not deleted. The disk
space this requires is insignificant, but as the cache grows loading
all the shaders on startup can get expensive. To solve that we write a
whitelist of the shaders used during startup, and only load those
during the next startup.

Differential Revision: https://phabricator.services.mozilla.com/D33954

--HG--
extra : moz-landing-system : lando
2019-07-09 10:20:04 +00:00
Dorel Luca 9dcd722ccc Backed out 5 changesets (bug 1555483) for Wrench failure in sdcard/wrench/reftests/border/no-aa.yaml
Backed out changeset 244b23c635c5 (bug 1555483)
Backed out changeset 4d4f45f7f1d1 (bug 1555483)
Backed out changeset 5618213e2196 (bug 1555483)
Backed out changeset d6169482c913 (bug 1555483)
Backed out changeset 3a1e5a56759b (bug 1555483)

--HG--
rename : gfx/wr/wrench/reftests/filters/svg-filter-flood-ref.yaml => gfx/wr/wrench/reftests/filters/filter-flood-ref.yaml
rename : gfx/wr/wrench/reftests/filters/svg-filter-flood.yaml => gfx/wr/wrench/reftests/filters/filter-flood.yaml
2019-07-10 05:12:26 +03:00
Connor Brewster 94b32299f8 Bug 1555483 - Part 3: Add SVG render task and shader r=gw
The SVG task supports the pre-existing SVG filters along with Blend.

Differential Revision: https://phabricator.services.mozilla.com/D34091

--HG--
extra : moz-landing-system : lando
2019-07-08 22:33:18 +00:00
Oana Pop Rus 1a5e831b42 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-07-11 13:00:34 +03:00
Nicolas Silva a8b0d6f029 Bug 1557208 - Block the caller during RenderBackend shutdown. r=sotaro
--HG--
extra : rebase_source : 4f7177b6732c0ba7192a70896b7e0f8bf4586474
extra : source : 0a8860887ee53b1ef6d9f0ea8f03f246f913395d
2019-07-11 09:50:50 +02:00
Nicolas Silva b32c2e1cd0 Bug 1557208 - Deallocate thread pool handles during RenderThread sync shutdown. r=sotaro
--HG--
extra : rebase_source : f373ba053d7f79c67aa34c93fe20fe7359d79386
extra : source : e7f3a4b3f5dcdbb1052e387a74fd14e4fcb225a7
2019-07-01 17:24:32 +02:00
Narcis Beleuzu aebbfd69ea Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-07-09 06:53:54 +03:00
Narcis Beleuzu 59c3fccd33 Merge inbound to mozilla-central. a=merge 2019-07-09 06:45:48 +03:00
Andrew Osmond e501ee889d Bug 1409773 - Use WebRender instead of fallback for border raster images. r=jrmuizel
Before this patch, we would use fallback for all border images. Now for
all but vector images we will use the WebRender border images
primitives. Vector images are an exception because the fallback is
clever in that it upscales the vector image and clips to only draw the
region it requires. This avoids artifacting but to do something similar
for WebRender as it is currently defined, we would increase our CPU and
memory footprint as we would need to produce the entire vector image
upscaled, not just the parts we need. In the future we should change
WebRender to accept different image resources for each of the segments.

Differential Revision: https://phabricator.services.mozilla.com/D37093
2019-07-08 12:54:44 -04:00
Robert Mader 46c9b36d04 Bug 1563035 - Webrender assumes that an EGL context uses GLES (but it can be GL, too). r=jgilbert 2019-07-03 16:38:00 +03:00
Sylvestre Ledru fc2eb5393c Bug 1562642 - Part 2 - Add missing MPL2 headers r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D37146

--HG--
extra : moz-landing-system : lando
2019-07-08 09:27:47 +00:00
Gurzau Raul 5f41be0510 Backed out changeset 9ad9e16d94d9 (bug 1409773) for crashtest failures at 640272.html 2019-07-06 23:36:12 +03:00
Andrew Osmond d20b5cb84b Bug 1409773 - Use WebRender instead of fallback for border raster images. r=jrmuizel
Before this patch, we would use fallback for all border images. Now for
all but vector images we will use the WebRender border images
primitives. Vector images are an exception because the fallback is
clever in that it upscales the vector image and clips to only draw the
region it requires. This avoids artifacting but to do something similar
for WebRender as it is currently defined, we would increase our CPU and
memory footprint as we would need to produce the entire vector image
upscaled, not just the parts we need. In the future we should change
WebRender to accept different image resources for each of the segments.

Differential Revision: https://phabricator.services.mozilla.com/D37093
2019-07-06 14:20:48 -04:00
Kartikaya Gupta c8cff9effe Bug 1563311 - Remove uses of MOZ_BUILD_WEBRENDER. r=aosmond
This removes support for building Firefox/Gecko without WebRender.

Differential Revision: https://phabricator.services.mozilla.com/D36819

--HG--
extra : moz-landing-system : lando
2019-07-05 11:05:17 +00:00
Kartikaya Gupta b4060b7612 Bug 1525314 - Skip assertion intermittently failing on Android. r=aosmond
Depends on D36796

Differential Revision: https://phabricator.services.mozilla.com/D36797

--HG--
extra : moz-landing-system : lando
2019-07-04 21:35:02 +00:00
Coroiu Cristina 3983fddf6d Backed out 6 changesets (bug 1525314) for reftest failures at reftests/svg/filters/css-filters/saturate-zero.html om a CLOSED TREE
Backed out changeset 0ed2509b7191 (bug 1525314)
Backed out changeset af72d1c4c107 (bug 1525314)
Backed out changeset ab21a3ff4ae4 (bug 1525314)
Backed out changeset 02399933ac4b (bug 1525314)
Backed out changeset 95790a07a93c (bug 1525314)
Backed out changeset 28f52fd3934e (bug 1525314)
2019-07-05 00:29:12 +03:00
Kartikaya Gupta 90b331cafa Bug 1525314 - Skip assertion intermittently failing on Android. r=aosmond
Depends on D36796

Differential Revision: https://phabricator.services.mozilla.com/D36797

--HG--
extra : moz-landing-system : lando
2019-07-04 18:39:08 +00:00
Jeff Gilbert c01f565a55 Bug 1560736 - MakeCurrent after GeckoSurfaceTexture::DestroyUnused. r=snorp
Seems like GeckoSurfaceTexture::DestroyUnused can change the current
context.

Differential Revision: https://phabricator.services.mozilla.com/D36685

--HG--
extra : moz-landing-system : lando
2019-07-03 14:15:17 +00:00
Jeff Muizelaar d14beb98f4 Bug 1561303. Add some asserts for the surface size. r=nical
This is the first piece of the blob-recoord series. Adding
some checks to ensure things stay sane.

Differential Revision: https://phabricator.services.mozilla.com/D35806

--HG--
extra : moz-landing-system : lando
2019-07-01 07:28:03 +00:00
Doug Thayer 9e8f08b278 Bug 1549976 - Implement popover render root r=kats,Gijs
If we decide to just go with an overlay that sits fully over the
window (which I don't personally see a perf problem with right now,
but correct me if you can think of one), then this should be all
we need.

Differential Revision: https://phabricator.services.mozilla.com//D33819

--HG--
extra : rebase_source : 44a5af47f9c10071b0933931fbf3708978f549e4
2019-06-21 19:15:11 +01:00
Nicholas Nethercote ca8e78069d Bug 1561491 - Make gfx.* static prefs follow the naming convention. r=KrisWright
Differential Revision: https://phabricator.services.mozilla.com/D35975

--HG--
extra : rebase_source : 9090ac828f1da9582510975047d5ad59a228dda5
2019-06-26 10:38:09 +10:00
Jeff Gilbert 4ca782e561 Bug 1559681 - Repair device-reset handling in RenderCompositorANGLE. r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D35882

--HG--
extra : moz-landing-system : lando
2019-06-26 06:03:23 +00:00
sotaro 1b3de0879f Bug 1533296 - Make WebRender error as to Fallback to Compositor rendering during disabling WebRender on android r=nical
On android, android's nsWindow creates LayerManaer only in nsWindow::Create(). When WebRender error happened, gecko just stopped rendering by disabling Webrender.
The nsWindow needs to re-create LayerManager during disabling Webrender. Further, during disabling WebRender, All GeckoSurfaceTextures should not be attached to GLContext. It is for preventing a conflict with AttachToGLContext() call in SurfaceTextureHost::EnsureAttached().

Differential Revision: https://phabricator.services.mozilla.com/D26687

--HG--
extra : moz-landing-system : lando
2019-06-19 16:14:56 +00:00
Jeff Gilbert 98d7f04ed2 Bug 1559524 - Reduce calls to GLLibraryEGL::Get(). r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D35103

--HG--
extra : moz-landing-system : lando
2019-06-15 05:21:12 +00:00
Jeff Gilbert 42eda03785 Bug 1559524 - Remove EGL_DISPLAY macro. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D35102

--HG--
extra : moz-landing-system : lando
2019-06-15 05:14:53 +00:00
Bob Owen fd4b37602b Bug 1464032 Part 1: Fix unified build issues. r=jrmuizel 2018-12-02 14:02:27 +00:00
Kartikaya Gupta be4391585f Bug 1556597 - Fix warnings in webrender_bindings in nightly rust. r=Gankro
Depends on D33782

Differential Revision: https://phabricator.services.mozilla.com/D33783

--HG--
extra : moz-landing-system : lando
2019-06-05 14:06:25 +00:00
sotaro 64ccd472e9 Bug 1556283 - Add more logs to RenderDXGITextureHostOGL and RenderDXGIYCbCrTextureHostOGL r=nical
Differential Revision: https://phabricator.services.mozilla.com/D33439

--HG--
extra : moz-landing-system : lando
2019-06-03 13:43:48 +00:00
Neil Deakin dcfccf267d Bug 1443683, support drag and drop in out of process frames; this is done by storing the drag information about the data to be dragged and visualization image in the event state manager instead of the BrowserParent and passing this information on to the drag service, r=nika
--HG--
extra : rebase_source : 0ccb645d652b064e647d5693aaf480d7066e6fdf
2019-05-14 11:04:38 -04:00
Barret Rennie 8923589429 Bug 1551735 - Clearly document the case of the RendererOGL receiving a new WebRenderCompositionRecorder while it has one r=kats
Differential Revision: https://phabricator.services.mozilla.com/D32356

--HG--
extra : moz-landing-system : lando
2019-05-31 00:31:52 +00:00
Barret Rennie d9cb9952d0 Bug 1551735 - Record compositions in Web Render r=kats
Now that we have a suitable composition recorder infrastructure, it is just a
matter of plumbing the `WebRenderCompositionRecorder` from the
`CompositorBridgeParent` to the `RenderThread` to start recording frames.

Differential Revision: https://phabricator.services.mozilla.com/D32234

--HG--
extra : moz-landing-system : lando
2019-05-31 00:31:39 +00:00
Barret Rennie f5ab9bc353 Bug 1551735 - Add a thread-safe composition recorder for WebRender r=kvark,kats
Since WebRender does its rendering on a separate thread from the compositor
thread, we need a composition recorder that can be shared between threads.

Differential Revision: https://phabricator.services.mozilla.com/D32231

--HG--
extra : moz-landing-system : lando
2019-05-31 00:31:24 +00:00
Barret Rennie b526a32af7 Bug 1551735 - Expose bindings to the Renderer's composition recorder structures r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D32233

--HG--
extra : moz-landing-system : lando
2019-05-31 00:31:05 +00:00
Coroiu Cristina 0c344192ae Backed out 7 changesets (bug 1551735) for build bustage at src/gfx/layers/wr/WebRenderCompositionRecorder.h on a CLOSED TREE
Backed out changeset 98e75ac2cf4f (bug 1551735)
Backed out changeset 152e3a6e5c10 (bug 1551735)
Backed out changeset 9deb5350e244 (bug 1551735)
Backed out changeset 6154bdfe6fad (bug 1551735)
Backed out changeset 4a0936bda490 (bug 1551735)
Backed out changeset a7868d694fe1 (bug 1551735)
Backed out changeset 06c8e5f7768d (bug 1551735)
2019-05-31 00:05:00 +03:00
Barret Rennie 1725af146a Bug 1551735 - Clearly document the case of the RendererOGL receiving a new WebRenderCompositionRecorder while it has one r=kats
Differential Revision: https://phabricator.services.mozilla.com/D32356

--HG--
extra : moz-landing-system : lando
2019-05-30 20:19:56 +00:00
Barret Rennie 0177b781d0 Bug 1551735 - Record compositions in Web Render r=kats
Now that we have a suitable composition recorder infrastructure, it is just a
matter of plumbing the `WebRenderCompositionRecorder` from the
`CompositorBridgeParent` to the `RenderThread` to start recording frames.

Differential Revision: https://phabricator.services.mozilla.com/D32234

--HG--
extra : moz-landing-system : lando
2019-05-30 20:19:48 +00:00
Barret Rennie 6e0b85ac76 Bug 1551735 - Add a thread-safe composition recorder for WebRender r=kvark,kats
Since WebRender does its rendering on a separate thread from the compositor
thread, we need a composition recorder that can be shared between threads.

Differential Revision: https://phabricator.services.mozilla.com/D32231

--HG--
extra : moz-landing-system : lando
2019-05-30 20:32:42 +00:00
Barret Rennie 1bd07ea3f6 Bug 1551735 - Expose bindings to the Renderer's composition recorder structures r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D32233

--HG--
extra : moz-landing-system : lando
2019-05-30 20:18:23 +00:00
Connor Brewster e68c4f61a8 Bug 1536240 - Add debug option to wrench to output specified shader source r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D33088

--HG--
extra : moz-landing-system : lando
2019-05-30 19:28:10 +00:00
Noemi Erli 02b7a9faeb Backed out 7 changesets (bug 1551735) for build bustages in RenderThread.cpp CLOSED TREE
Backed out changeset aa165d8c181d (bug 1551735)
Backed out changeset e7b857609786 (bug 1551735)
Backed out changeset f2a2396a0d4a (bug 1551735)
Backed out changeset 5891d00fca85 (bug 1551735)
Backed out changeset 2e6ca6d6c527 (bug 1551735)
Backed out changeset 3b2078f90715 (bug 1551735)
Backed out changeset a516d20303e6 (bug 1551735)
2019-05-30 23:10:21 +03:00
Barret Rennie 969a6a61ea Bug 1551735 - Clearly document the case of the RendererOGL receiving a new WebRenderCompositionRecorder while it has one r=kats
Differential Revision: https://phabricator.services.mozilla.com/D32356

--HG--
extra : moz-landing-system : lando
2019-05-29 21:53:44 +00:00
Barret Rennie 69f79b959b Bug 1551735 - Record compositions in Web Render r=kats
Now that we have a suitable composition recorder infrastructure, it is just a
matter of plumbing the `WebRenderCompositionRecorder` from the
`CompositorBridgeParent` to the `RenderThread` to start recording frames.

Differential Revision: https://phabricator.services.mozilla.com/D32234

--HG--
extra : moz-landing-system : lando
2019-05-29 23:05:54 +00:00
Barret Rennie 75ce1caae2 Bug 1551735 - Add a thread-safe composition recorder for WebRender r=kvark,kats
Since WebRender does its rendering on a separate thread from the compositor
thread, we need a composition recorder that can be shared between threads.

Differential Revision: https://phabricator.services.mozilla.com/D32231

--HG--
extra : moz-landing-system : lando
2019-05-30 13:06:43 +00:00
Barret Rennie 49e2a2721c Bug 1551735 - Expose bindings to the Renderer's composition recorder structures r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D32233

--HG--
extra : moz-landing-system : lando
2019-05-29 21:52:57 +00:00
sotaro 5e274cc3e6 Bug 1554952 - Remove function pointers from WrExternalImageHandler r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D32813

--HG--
extra : moz-landing-system : lando
2019-05-29 20:50:13 +00:00
sotaro acbc3518d5 Bug 1554091 - Remove WrExternalImageBufferType r=jrmuizel
If ExternalImageType is just passed from C to rust, it caused crash on non-Windows platform. It was caused by stack corruption. Then &ExternalImageType is used instead of ExternalImageType to bypass the problem.

Differential Revision: https://phabricator.services.mozilla.com/D32436

--HG--
extra : moz-landing-system : lando
2019-05-28 22:03:54 +00:00
Jean-Yves Avenard 04a34db033 Bug 1550422 - P12. Convert Live gfxPrefs into StaticPrefs. r=jrmuizel
gfxPrefs Live preferences are almost identical to StaticPrefs.

We leave aside for now those that set a custom change callback as this feature isn't yet supported in StaticPrefs.

Differential Revision: https://phabricator.services.mozilla.com/D31256

--HG--
extra : moz-landing-system : lando
2019-05-26 14:29:42 +00:00
Jean-Yves Avenard 38a4c733c3 Bug 1554438 - P2. Only shutdown thread if it was started. r=sotaro
It is theorically possible that the WinCompositorWindowThread failed to start. Should this happen, attempting to shut it down will cause shutdown to hang forever.

Differential Revision: https://phabricator.services.mozilla.com/D32602

--HG--
extra : moz-landing-system : lando
2019-05-26 02:17:10 +00:00
Sylvestre Ledru d57d4905f1 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D30883

--HG--
extra : moz-landing-system : lando
2019-05-25 17:46:15 +00:00
Bastien Orivel 998c4ce860 Bug 1554401 - Part 1: Update dwrote to 0.9. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D32567

--HG--
extra : moz-landing-system : lando
2019-05-25 17:08:40 +00:00
Kenny Levinsen ed7d5b2663 Bug 1548499 - Set EGL context before call to eglSwapInterval. r=sotaro
The EGL context must be set before the call to eglSwapInterval to ensure that it will operate on the correct context.

Differential Revision: https://phabricator.services.mozilla.com/D30282

--HG--
extra : moz-landing-system : lando
2019-05-24 06:06:12 +00:00
Gurzau Raul 967bc2a754 Backed out 31 changesets (bug 1552643, bug 1550422) for xpcshell crash on a CLOSED TREE.
Backed out changeset e30c1aa75529 (bug 1552643)
Backed out changeset caadcd7e02d3 (bug 1552643)
Backed out changeset aa7086ab09be (bug 1552643)
Backed out changeset 0b4029671710 (bug 1550422)
Backed out changeset a16295296035 (bug 1550422)
Backed out changeset 3b70307c0db5 (bug 1550422)
Backed out changeset 69df7818d4a3 (bug 1550422)
Backed out changeset d98dfc565927 (bug 1550422)
Backed out changeset 6f0997976944 (bug 1550422)
Backed out changeset 0edd264464c2 (bug 1550422)
Backed out changeset 9ea6da7a74ec (bug 1550422)
Backed out changeset f855f9309c8b (bug 1550422)
Backed out changeset 1033546224a7 (bug 1550422)
Backed out changeset ade7384c6186 (bug 1550422)
Backed out changeset 75b04de7e99c (bug 1550422)
Backed out changeset 91c3acdb2454 (bug 1550422)
Backed out changeset 77d2f80257d1 (bug 1550422)
Backed out changeset e0cd10d35327 (bug 1550422)
Backed out changeset 097091082423 (bug 1550422)
Backed out changeset 2f328853c1ab (bug 1550422)
Backed out changeset f92f2cc29cb1 (bug 1550422)
Backed out changeset 6dc82f88333d (bug 1550422)
Backed out changeset c20f66494d69 (bug 1550422)
Backed out changeset 2ba22cddeb6f (bug 1550422)
Backed out changeset 3aa72f89e295 (bug 1550422)
Backed out changeset ab4c4e806977 (bug 1550422)
Backed out changeset 72e5de040dda (bug 1550422)
Backed out changeset 7d3c2d486706 (bug 1550422)
Backed out changeset 132e0b8d8468 (bug 1550422)
Backed out changeset 54c85ac75dd0 (bug 1550422)
Backed out changeset d7ba4a18dd54 (bug 1550422)
2019-05-25 09:07:49 +03:00
Jean-Yves Avenard af5790cf9b Bug 1550422 - P12. Convert Live gfxPrefs into StaticPrefs. r=jrmuizel
gfxPrefs Live preferences are almost identical to StaticPrefs.

We leave aside for now those that set a custom change callback as this feature isn't yet supported in StaticPrefs.

Differential Revision: https://phabricator.services.mozilla.com/D31256

--HG--
extra : moz-landing-system : lando
2019-05-25 00:03:32 +00:00
Barret Rennie a71ef09a3f Bug 1547472 - Ref count the ProfilerScreenshots structure r=gerald,jesup
Differential Revision: https://phabricator.services.mozilla.com/D32524

--HG--
extra : moz-landing-system : lando
2019-05-24 23:53:28 +00:00
arthur.iakab af8e458c5f Backed out changeset a296439a25ff (bug 1519636) for frequent Windows cppunit failures CLOSED TREE 2019-05-24 14:26:01 +03:00
Sylvestre Ledru c82ea97226 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D30883

--HG--
extra : moz-landing-system : lando
2019-05-24 09:59:17 +00:00
Gurzau Raul 74c555539e Backed out 28 changesets (bug 1550422) for marionette AssertionError and failing browser_policy_hardware_acceleration.js on a CLOSED TREE.
Backed out changeset 5dd10a365ba9 (bug 1550422)
Backed out changeset 529f5be01ab9 (bug 1550422)
Backed out changeset b6861d3badf8 (bug 1550422)
Backed out changeset 059cff1a3dde (bug 1550422)
Backed out changeset 6ada1116b241 (bug 1550422)
Backed out changeset ca67e8e45262 (bug 1550422)
Backed out changeset a1961a51ae44 (bug 1550422)
Backed out changeset 1c90b9cb3ad4 (bug 1550422)
Backed out changeset 285fa46e4f26 (bug 1550422)
Backed out changeset e2938a444234 (bug 1550422)
Backed out changeset 7a930fc51125 (bug 1550422)
Backed out changeset 898ed02804fe (bug 1550422)
Backed out changeset e1b7abc99ae9 (bug 1550422)
Backed out changeset f781d415cef6 (bug 1550422)
Backed out changeset 2fef10a7cce5 (bug 1550422)
Backed out changeset ea64b4d8d4ff (bug 1550422)
Backed out changeset 86a8ba1b755c (bug 1550422)
Backed out changeset 9c0c9e80f309 (bug 1550422)
Backed out changeset 10c153ddbaea (bug 1550422)
Backed out changeset 60fe635ec2c9 (bug 1550422)
Backed out changeset a38796266b28 (bug 1550422)
Backed out changeset 2db647dcdf1c (bug 1550422)
Backed out changeset 952ddac02972 (bug 1550422)
Backed out changeset ba46b53643ec (bug 1550422)
Backed out changeset ca47ef6c59f7 (bug 1550422)
Backed out changeset f45f471a1a40 (bug 1550422)
Backed out changeset 371b4da5b771 (bug 1550422)
Backed out changeset 02fc78890032 (bug 1550422)
2019-05-23 05:59:44 +03:00
Jean-Yves Avenard 2c0ce1b3ca Bug 1550422 - P12. Convert Live gfxPrefs into StaticPrefs. r=jrmuizel
gfxPrefs Live preferences are almost identical to StaticPrefs.

We leave aside for now those that set a custom change callback as this feature isn't yet supported in StaticPrefs.

Differential Revision: https://phabricator.services.mozilla.com/D31256

--HG--
extra : moz-landing-system : lando
2019-05-22 12:43:42 +00:00
Jamie Nicol 94cf690698 Bug 1531142 - Avoid excessive glyph rasterization when pinch zooming. r=gw,kats
When pinch zooming webrender would re-rasterize glyphs for each tiny
difference in zoom level. This takes time in itself, but also causes
the texture cache to grow incredibly large, to the point where
resizing it to make room for more glyphs takes far too much time.

This patch avoids this by rounding the size at which glyphs are
rasterized whilst pinch zooming. To do this we add a FrameMsg which
APZ uses to tell webrender whether a spatial node is being pinch
zoomed. Then during frame building if a spatial node is being pinch
zoomed we override the raster space of its corresponding picture.

The chosen raster space is the current zoom level rounded up to the
nearest power of two, but not exceeding 8x. This seems to be a good
balance between quality and performance, though at high zoom levels
the cache still does grow very large due to the size of the glyphs.

Differential Revision: https://phabricator.services.mozilla.com/D30213

--HG--
extra : moz-landing-system : lando
2019-05-22 20:13:34 +00:00
sotaro f1e8518196 Bug 1551792 - Add override to RenderCompositorANGLE::UseTripleBuffering() r=nical
Differential Revision: https://phabricator.services.mozilla.com/D31194

--HG--
extra : moz-landing-system : lando
2019-05-15 16:32:25 +00:00
sotaro 5195dc0de7 Bug 1551392 - Remove RenderThread::DecPendingFrameCount() r=nical
Differential Revision: https://phabricator.services.mozilla.com/D31021

--HG--
extra : moz-landing-system : lando
2019-05-14 07:18:03 +00:00
Nicolas Silva 92e099dc31 Bug 1536021 - Gecko side changes. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D30618

--HG--
extra : source : d9c8971de6ad11a2f5c4331775c2d17c98a12b7e
extra : intermediate-source : b0fc3130f34b72fe01230ae0b231131111a9a9f1
2019-05-10 22:13:31 +02:00
Alexis Beingessner ac602e64ff Bug 1546018 - parent the legend clip chains. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D29528

--HG--
extra : moz-landing-system : lando
2019-05-01 17:35:44 +00:00
Kartikaya Gupta 3ff9de1d05 Bug 1547097 - Get snapshots in RGBA8 instead of BGRA8 on Android. r=jnicol
BGRA may not be supported on GLES implementations, such as on the
Pixel 2 device. Since WR on Android uses GLES, we should use RGBA
when getting snapshots so that it actually works instead of failing
silently.

Differential Revision: https://phabricator.services.mozilla.com/D29060

--HG--
extra : moz-landing-system : lando
2019-04-30 17:49:30 +00:00
Kartikaya Gupta 140fb1c366 Bug 1547097 - Remove ReadPixelsFormat. r=kvark
The Rgba8 enum value is redundant with the Standard(ImageFormat::RGBA8) value,
this patch collapses the former into the latter. Which then makes the entire
ReadPixelsFormat redundant, so we can get rid of it completely.

Differential Revision: https://phabricator.services.mozilla.com/D29059

--HG--
extra : moz-landing-system : lando
2019-04-30 17:43:41 +00:00
Sylvestre Ledru 96da5036ad Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D28948

--HG--
extra : moz-landing-system : lando
2019-04-28 09:30:05 +00:00
Razvan Maries 362e2e424d Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2019-04-26 19:08:00 +03:00
Nicolas Silva addfd5a0ba Bug 1533545 - Register thread local arenas in WebRender worker threads. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D27671
2019-04-26 09:49:15 +02:00
sotaro 00fa00cad3 Bug 1544642 - Do not bind SurfaceTexture of video to gl context if it is used by WebGL r=nical
GeckoSurfaceTexture could bind to only one GL context at once. With WebRender, GeckoSurfaceTexture is soon bounded to sharedGL on render thread. It caused the problem if GeckoSurfaceTexture is rendered to WebGL. It could happen only for video's GeckoSurfaceTexture. To avoid the problem, the GeckoSurfaceTexture is bound to gl context when it is actually rendered on WebRender.

Differential Revision: https://phabricator.services.mozilla.com/D27873

--HG--
extra : moz-landing-system : lando
2019-04-26 07:48:54 +00:00
Kartikaya Gupta a771e03566 Bug 1542826 - Add a pref to control the debug server. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D28358

--HG--
extra : moz-landing-system : lando
2019-04-25 19:31:11 +00:00
Kartikaya Gupta 26da9a6c9e Bug 1542826 - Expose a mozconfig flag to build the WR debugger feature. r=gw,froydnj
We can't yet enable the build by default since it pulls in networking functions
into libgkrust which runs afoul of the checks added in bug 1376621.

Differential Revision: https://phabricator.services.mozilla.com/D28353

--HG--
extra : moz-landing-system : lando
2019-04-25 19:31:16 +00:00
Gurzau Raul 71e35400ef Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-04-25 19:30:38 +03:00
Dzmitry Malyshau 681ee8a0d0 Bug 1546371 - Switch render backend and API away from FramebufferPixel r=gw
The gist of the problem I introduced with the framebuffer coordinate system is that we provided the window rect (effectively) twice:
  1. when computing the document rectangle (and Y-inverting it)
  2. when rendering

If between these points the window got resized (during scene building), we end up with our document aligned to bottom left corner.
The user expects content to still be aligned to the top left, so that's what is visible as a bug.

The change here switched scene building to only care about device coordinate space, restraining the framebuffer coordinates to be mostly
an implementation detail of the renderer/device (the way it was originally meant to be, when introduced). This way the current window size
is only considered once during rendering.

Differential Revision: https://phabricator.services.mozilla.com/D28731

--HG--
extra : moz-landing-system : lando
2019-04-25 13:02:47 +00:00
Razvan Maries 5f610a07b3 Backed out 8 changesets (bug 1542826) for build bustages. CLOSED TREE
Backed out changeset f3516e1416f0 (bug 1542826)
Backed out changeset 1dba743761b7 (bug 1542826)
Backed out changeset a02e469be7b3 (bug 1542826)
Backed out changeset 5118d628ec89 (bug 1542826)
Backed out changeset 5744891efeef (bug 1542826)
Backed out changeset e5af8cd01080 (bug 1542826)
Backed out changeset 314f9bc7dafe (bug 1542826)
Backed out changeset 7df230ea5122 (bug 1542826)
2019-04-23 23:14:06 +03:00
Kartikaya Gupta 0404d750a7 Bug 1542826 - Add a pref to control the debug server. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D28358

--HG--
extra : moz-landing-system : lando
2019-04-23 19:57:27 +00:00
Kartikaya Gupta 8adfe9b131 Bug 1542826 - Build the debugger feature in webrender by default. r=gw
This builds the feature but leaves it disabled by default at runtime.

Differential Revision: https://phabricator.services.mozilla.com/D28353

--HG--
extra : moz-landing-system : lando
2019-04-23 19:55:20 +00:00
Alexis Beingessner 8289701d8c Bug 1536121 - rearchitect the webrender display-list. r=gw
disclaimer: this isn't an *amazing* cleanup, but more of a major step that
unlocks the ability to do more minor cleanups and refinements. There's some
messy things and inconsistencies here and there, but we can hopefully iron
them out over time.

1. The primary change here is to move from
    struct { common_fields, enum(specific_fields) }
to
    enum (maybe_common_fields, specific_fields)

most notably this drops the common fields from a ton of things
that don't need them PopXXX, SetXXX, ClipChain, etc.

2. Additionally some types have had some redundant states shaved off,
for instance, rect no longer has *both* bounds and a clip_rect, as
the intersection of the two can be used. This was done a bit conservatively
as some adjustments will need to be done to the backend to fully eliminate
some states, and this can be done more incrementally.

2.5. As a minor side-effect of 2, we now early-reject some primitives whose
bounds and clip_rect are disjoint.

3. A HitTest display item has been added, which is just a Rect without
color. In addition to the minor space wins from this, this makes it much
easier to debug display lists

4. Adds a bunch of comments to the display list, making it easier to understand
things.

The end result of all these changes is a significantly smaller and easier to
understand display list. Especially on pages like gmail which have so many
clip chains. However this ultimately just makes text an even greater percentage
of pages (often 70-80%).

Differential Revision: https://phabricator.services.mozilla.com/D27439

--HG--
extra : moz-landing-system : lando
2019-04-23 17:29:58 +00:00
Dorel Luca 0caaab0f1e Backed out 2 changesets (bug 1536121) for Reftest failures
Backed out changeset 0fc395a2ac71 (bug 1536121)
Backed out changeset 430032511561 (bug 1536121)

--HG--
extra : rebase_source : 95c710b24ec5b76da20ddb5573036c8c73873e9e
2019-04-23 10:05:14 +03:00
Alexis Beingessner ee4e394f45 Bug 1536121 - rearchitect the webrender display-list. r=gw
disclaimer: this isn't an *amazing* cleanup, but more of a major step that
unlocks the ability to do more minor cleanups and refinements. There's some
messy things and inconsistencies here and there, but we can hopefully iron
them out over time.

1. The primary change here is to move from
    struct { common_fields, enum(specific_fields) }
to
    enum (maybe_common_fields, specific_fields)

most notably this drops the common fields from a ton of things
that don't need them PopXXX, SetXXX, ClipChain, etc.

2. Additionally some types have had some redundant states shaved off,
for instance, rect no longer has *both* bounds and a clip_rect, as
the intersection of the two can be used. This was done a bit conservatively
as some adjustments will need to be done to the backend to fully eliminate
some states, and this can be done more incrementally.

2.5. As a minor side-effect of 2, we now early-reject some primitives whose
bounds and clip_rect are disjoint.

3. A HitTest display item has been added, which is just a Rect without
color. In addition to the minor space wins from this, this makes it much
easier to debug display lists

4. Adds a bunch of comments to the display list, making it easier to understand
things.

The end result of all these changes is a significantly smaller and easier to
understand display list. Especially on pages like gmail which have so many
clip chains. However this ultimately just makes text an even greater percentage
of pages (often 70-80%).

Differential Revision: https://phabricator.services.mozilla.com/D27439

--HG--
extra : moz-landing-system : lando
2019-04-23 02:32:50 +00:00
Sylvestre Ledru a1dce6440a Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D28329

--HG--
extra : moz-landing-system : lando
2019-04-22 16:35:03 +00:00
Nicolas Silva 886eba5227 Bug 1533545 - Backout because of build bustage on a CLOSED TREE. r=me 2019-04-24 21:01:23 +02:00
Nicolas Silva 07fb863bc2 Bug 1533545 - Limit the number of WebRender Workers to 8. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D27651

--HG--
extra : source : 7ea6ff1a401547ba07a101d41f05e261a3cf0fcc
extra : intermediate-source : 577f702d4d95abedc0d48cec89d4293184698052
2019-04-24 20:29:42 +02:00
Nicolas Silva 819cd2d6b6 Bug 1533545 - Register thread local arenas in WebRender worker threads. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D27671

--HG--
extra : source : de858335611d112735d98a9181a0c4a2904c44e9
extra : intermediate-source : 62d35385f2e4eb0c987b92f47f974cb35a0e9b85
2019-04-16 14:28:05 +02:00
Oana Pop Rus c6b6e59f21 Backed out 2 changesets (bug 1533545) for build bustages at build/src/gfx/webrender_bindings/WebRenderAPI.cpp on a CLOSED TREE
Backed out changeset d0260a2dac6c (bug 1533545)
Backed out changeset 76927efc43f5 (bug 1533545)
2019-04-24 15:21:49 +03:00
Nicolas Silva b78ebe3262 Bug 1533545 - Limit the number of WebRender Workers to 8. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D27651

--HG--
extra : source : 7ea6ff1a401547ba07a101d41f05e261a3cf0fcc
extra : intermediate-source : 1d318222de1dc2d7f56abbbef4a611088995373a
2019-04-23 22:41:17 +02:00
Nicolas Silva e0434629cb Bug 1533545 - Register thread local arenas in WebRender worker threads. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D27671

--HG--
extra : source : de858335611d112735d98a9181a0c4a2904c44e9
extra : intermediate-source : bc2d6d670378d7b36afeafea66432aa1b49fb66b
2019-04-16 14:28:05 +02:00
Alexis Beingessner f0249aaaa2 Bug 1544895 - when suspending ClipLeafMerging, parent to the clip_chain and not the clip. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D27819

--HG--
extra : moz-landing-system : lando
2019-04-18 13:03:26 +00:00
Kartikaya Gupta b8921f9d15 Bug 1536487 - Use a RenderRootSet instead of nsTArray<RenderRoot>. r=dthayer
The array takes up more space than a bitset, and we don't need to keep
duplicates anyway, so the set doesn't lose us anything.

Differential Revision: https://phabricator.services.mozilla.com/D27900

--HG--
extra : moz-landing-system : lando
2019-04-17 15:12:10 +00:00
Nicolas Silva bd2c8b86cd Bug 1544374 - Make FilterOp not copy. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D27480

--HG--
extra : moz-landing-system : lando
2019-04-16 07:43:04 +00:00
sotaro b3d89e4d54 Bug 1543560 - Move NotifyWebRenderError() to CompositorManagerParent r=nical
NotifyWebRenderError is sent via CompositorBridgeParent/CompositorBridgeChild. It is not good, since they are re-created for each nsBaseWidget::CreateCompositorSession() call. Then there could be a case that the NotifyWebRenderError is not notified to GPUProcessManager and a crash was caused by NotifyWebRenderError message during ipc close.  CompositorManagerParent/CompositorManagerChild are stable for sending NotifyWebRenderError.

Differential Revision: https://phabricator.services.mozilla.com/D27030

--HG--
extra : moz-landing-system : lando
2019-04-16 07:45:00 +00:00
Alexis Beingessner b4a27bb58d Bug 1412179 - implement fieldsets with nonempty legends. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D27350

--HG--
extra : moz-landing-system : lando
2019-04-15 23:16:13 +00:00
Alexis Beingessner 99e4403911 Bug 1529992 - disable the MergeClipLeaf optimization for all shadows properly. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D27114

--HG--
extra : moz-landing-system : lando
2019-04-15 23:13:49 +00:00
Doug Thayer 066df32bb7 Bug 1538710 - Add WR API endpoint for sending multiple transactions r=nical
We discussed this a bit in Orlando. Essentially, we want to run cleanup
operations in texture_cache before all documents' frames, and then be
able to ensure that every document generates a frame, because otherwise
we will run into problems with evicted cache items used by non-updating-
but-still-rendering documents. Accordingly, we need an endpoint to
lump all of the transactions that generate frames together. This adds
that and builds out all of the plumbing necessary.

Differential Revision: https://phabricator.services.mozilla.com/D25132

--HG--
extra : moz-landing-system : lando
2019-04-15 22:34:13 +00:00
Daniel Varga e452ed972c Backed out 2 changesets (bug 1529992) for reftest failure at http://10.0.2.2:8854/tests/layout/reftests/bugs/1529992-1.html == http://10.0.2.2:8854/tests/layout/reftests/bugs/1529992-1-ref.html. On a CLOSED TREE
Backed out changeset 87b64e169b1b (bug 1529992)
Backed out changeset ddf29d68efb2 (bug 1529992)
2019-04-15 23:22:29 +03:00
Daniel Varga bf8c3286c2 Backed out 4 changesets (bug 1538710) for webrender-lint
Backed out changeset 6f3f506c7740 (bug 1538710)
Backed out changeset 1a529f967061 (bug 1538710)
Backed out changeset afa5cc2c6032 (bug 1538710)
Backed out changeset ab2083ff97f4 (bug 1538710)
2019-04-15 23:18:19 +03:00
Doug Thayer 3efeb79ae5 Bug 1538710 - Add WR API endpoint for sending multiple transactions r=nical
We discussed this a bit in Orlando. Essentially, we want to run cleanup
operations in texture_cache before all documents' frames, and then be
able to ensure that every document generates a frame, because otherwise
we will run into problems with evicted cache items used by non-updating-
but-still-rendering documents. Accordingly, we need an endpoint to
lump all of the transactions that generate frames together. This adds
that and builds out all of the plumbing necessary.

Differential Revision: https://phabricator.services.mozilla.com/D25132

--HG--
extra : moz-landing-system : lando
2019-04-15 18:56:04 +00:00
Alexis Beingessner d1cb43b8ac Bug 1529992 - disable the MergeClipLeaf optimization for all shadows properly. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D27114

--HG--
extra : moz-landing-system : lando
2019-04-15 17:25:34 +00:00
sotaro 61d191f94b Bug 1543846 - Call GeckoSurfaceTexture::UpdateTexImage() at correct timing during video callback in RenderAndroidSurfaceTextureHostOGL r=nical
During playing a video, one GeckoSurfaceTexture is used for all RenderAndroidSurfaceTextureHostOGLs of the video. GeckoSurfaceTexture owns multiple buffers. UpdateTexImage() needs to be called at the correct timing for adjusting SurfaceTexture's buffer status.

Differential Revision: https://phabricator.services.mozilla.com/D27467

--HG--
extra : moz-landing-system : lando
2019-04-15 09:51:59 +00:00
Coroiu Cristina 3b2b29f924 Backed out changeset fd5cb917b6eb (bug 1412179) for Wr failures at /html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-vertical.html 2019-04-13 11:04:15 +03:00
Alexis Beingessner 3d93741fa9 Bug 1412179 - implement fieldsets with nonempty legends. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D27350

--HG--
extra : moz-landing-system : lando
2019-04-12 18:56:19 +00:00
sotaro 1df1c7709c Bug 1507078 - Add mContinuousUpdate handling to RenderAndroidSurfaceTextureHostOGL r=nical
When mContinuousUpdate is true, UpdateTexImage() needs to be called for each rendering.

Differential Revision: https://phabricator.services.mozilla.com/D27232

--HG--
extra : moz-landing-system : lando
2019-04-12 16:58:36 +00:00
Martin Stransky 32886489bf Bug 1535893 - Use SharedGL in RenderCompositorEGL on wayland, r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D26800

--HG--
extra : moz-landing-system : lando
2019-04-12 08:08:03 +00:00
Jean-Yves Avenard d91ea6eb87 Bug 1540581 - P9. Add R16G16 type and update of P010/P016 resource update. r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D26464

--HG--
extra : moz-landing-system : lando
2019-04-11 12:37:23 +00:00
Jean-Yves Avenard 11ac9e9cf8 Bug 1540581 - P6. Tidy some C++ declarations in gfx/. r=gerald,jrmuizel
* Remove redundant virtual keywords
* Mark all destructors of inheriting classes as virtual for clarity
* Mark all classes without virtual destructor as final (exposed errors)
* Make destructor virtual where it needed to be (some were missing)
* Replace empty ({}) code declaration in header with = default
* Remove virtual unused methods

I probably missed some, it quickly became a rabbit hole.

Differential Revision: https://phabricator.services.mozilla.com/D26060

--HG--
extra : moz-landing-system : lando
2019-04-11 12:36:51 +00:00
Jean-Yves Avenard 3ae43eb506 Bug 1493898 - P6. Move YUVColorSpace definition in the gfx namespace. r=mattwoodrow.
YUVColorSpace is inseparable from the bit depth as the matrix coefficients to be calculated need the bit depth information.

So let's put the two types together. gfx namespace also makes more sense as that's where we find IntRect, IntSize and other.

The extent of the changes highlight how much similar data structures are duplicated across the code, to the point it's scary.

Differential Revision: https://phabricator.services.mozilla.com/D25347

--HG--
extra : moz-landing-system : lando
2019-04-11 12:41:33 +00:00
Jean-Yves Avenard c6e2001c75 Bug 1493898 - P1. Add preliminary BT2020 colorspace support. r=mattwoodrow
Only active with webrender and AL.

Differential Revision: https://phabricator.services.mozilla.com/D25342

--HG--
extra : moz-landing-system : lando
2019-04-11 12:40:40 +00:00
sotaro f078e63789 Bug 1515448 - Set eglSwapInterval to 0 on wayland r=stransky
Differential Revision: https://phabricator.services.mozilla.com/D20126

--HG--
extra : moz-landing-system : lando
2019-04-09 11:01:04 +00:00
Dorel Luca d0e6f0880f Backed out 3 changesets (bug 1538710) for Wrench bustage. CLOSED TREE
Backed out changeset 9a80bc4d626a (bug 1538710)
Backed out changeset f5f916011032 (bug 1538710)
Backed out changeset 585b51bba30d (bug 1538710)
2019-04-08 19:09:49 +03:00
Doug Thayer 33295b9e8b Bug 1538710 - Add WR API endpoint for sending multiple transactions r=nical
We discussed this a bit in Orlando. Essentially, we want to run cleanup
operations in texture_cache before all documents' frames, and then be
able to ensure that every document generates a frame, because otherwise
we will run into problems with evicted cache items used by non-updating-
but-still-rendering documents. Accordingly, we need an endpoint to
lump all of the transactions that generate frames together. This adds
that and builds out all of the plumbing necessary.

Differential Revision: https://phabricator.services.mozilla.com/D25132

--HG--
extra : moz-landing-system : lando
2019-04-08 15:23:20 +00:00
sotaro 817c9ec8c9 Bug 1529870 - Add handling of single buffer mode android SurfaceTexture r=nical
When SurfaceTexture is single buffer mode, UpdateTexImage() should be called only once for each publish. If UpdateTexImage() is called more than once, it causes hand on puglish side.

Differential Revision: https://phabricator.services.mozilla.com/D24483

--HG--
extra : moz-landing-system : lando
2019-04-03 22:05:27 +00:00
Alex Gaynor 30889844e7 Bug 1540897 - make the ByteSlice APIs in webrender's bindings fully sound; r=brennie
Differential Revision: https://phabricator.services.mozilla.com/D25788

--HG--
extra : moz-landing-system : lando
2019-04-03 02:39:53 +00:00
sotaro c36e993de9 Bug 1541145 - Use (1.0, 1.0, 1.0, 1.0) as clear clolor on android r=kats
wr_window_new() uses (0.0, 0.0, 0.0, 1.0) and (0.0, 0.0, 0.0, 0.0) as clear color. Then it makes rendering black until a content of webrender comes. By changing clear color to (1.0, 1.0, 1.0, 1.0), we could suppress black flashing.

Differential Revision: https://phabricator.services.mozilla.com/D25832

--HG--
extra : moz-landing-system : lando
2019-04-02 19:51:16 +00:00
sotaro e64563ea54 Bug 1532201 - Enable SurfaceFactory_EGLImage usage with WebRender r=nical
Differential Revision: https://phabricator.services.mozilla.com/D24668

--HG--
extra : moz-landing-system : lando
2019-04-02 03:16:20 +00:00
arthur.iakab 97cc18f3c6 Backed out changeset 48d248c9f5fd (bug 1532201) for causing multiple build bustages on TextureHostOGL.cpp CLOSED TREEE 2019-04-02 02:36:51 +03:00
sotaro 572a63549a Bug 1532201 - Enable SurfaceFactory_EGLImage usage with WebRender r=nical
Differential Revision: https://phabricator.services.mozilla.com/D24668

--HG--
extra : moz-landing-system : lando
2019-04-01 22:07:47 +00:00
sotaro 6510aded8d Bug 1539729 - Disable RenderCompositorOGL usage on android r=nical
On android, we want to use only RenderCompositorEGL for using sharedGL. Further RenderCompositorOGL does not work well with android SurfaceTexture.

Differential Revision: https://phabricator.services.mozilla.com/D25201

--HG--
extra : moz-landing-system : lando
2019-04-01 21:58:05 +00:00
Jeff Gilbert 758e836333 No bug - clang-format -p gfx 2019-03-29 23:41:48 -07:00
sotaro 2f9999a07a Bug 1539732 - Release unnecessary GeckoSurfaceTexture resource at RenderCompositorEGL r=jnicol
Bug 1416015 and Bug 1470348 added function calls for CompositorOGL. Similar things needs to be done for RenderCompositorEGL.

Differential Revision: https://phabricator.services.mozilla.com/D25199

--HG--
extra : moz-landing-system : lando
2019-03-29 14:36:05 +00:00
Kartikaya Gupta 4f62584409 Bug 1535029 - Change the viewport size passed to TransactionBuilder::SetDisplayList to a wr::LayoutSize. r=dthayer
The receiver of this parameter treats it as a layout size, so it doesn't
make sense for the argument to be a LayerSize partway through the call
chain. Also the callers originally get this from a LayoutDevice rect;
so there's even less reason for this to be turned into a LayerSize. The
next patch will propagate this cleanup more.

Differential Revision: https://phabricator.services.mozilla.com/D25238

--HG--
extra : moz-landing-system : lando
2019-03-28 16:38:01 +00:00
Barret Rennie 6e284e1063 Bug 1444434 - Free the Gecko profiler screenshots structures in the WebRender renderer when profiling stops r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D23964

--HG--
extra : moz-landing-system : lando
2019-03-28 14:51:49 +00:00
Barret Rennie 0aac558507 Bug 1444434 - Submit screenshots to the Gecko profiler from WebRender r=kvark,mstange
Differential Revision: https://phabricator.services.mozilla.com/D23963

--HG--
extra : moz-landing-system : lando
2019-03-28 14:51:40 +00:00
Barret Rennie 6131c4dbab Bug 1444434 - Add C bindings to the Renderer::get_screenshot_async and Renderer::map_and_recycle_screenshot APIs r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D23962

--HG--
extra : moz-landing-system : lando
2019-03-28 14:51:32 +00:00
Dzmitry Malyshau 44c0bfd046 Bug 1528674 - WR improve picture texture cache allocaton r=gw
The change contains a number of incremental improvements with the main goal of:
  - allocating exactly as many tile as required by the app
  - respecting the picture caching option

Differential Revision: https://phabricator.services.mozilla.com/D24740

--HG--
extra : moz-landing-system : lando
2019-03-28 03:02:45 +00:00
Kartikaya Gupta 6df22de302 Bug 1538768 - Also zero-initialize primitive types in NonDefaultRenderRootArray. r=dthayer
Differential Revision: https://phabricator.services.mozilla.com/D24951

--HG--
extra : moz-landing-system : lando
2019-03-27 11:11:14 +00:00
Kartikaya Gupta b4b306f879 Bug 1538768 - Ensure that RenderRootArray<bool> is properly initialized to false on creation. r=dthayer
Differential Revision: https://phabricator.services.mozilla.com/D24950

--HG--
extra : moz-landing-system : lando
2019-03-27 11:16:52 +00:00
Cosmin Sabou d3aa170d5a Backed out changeset bbb6a31ebf07 (bug 1528674) for webrender crashtests and reftests failures.
--HG--
extra : rebase_source : 083b18e419d18de6a13d7a22e482f995adee1b00
2019-03-27 02:15:39 +02:00
Coroiu Cristina c1e4fdf4a6 Backed out 6 changesets (bug 1444434) for build bustages on a CLOSED TREE
Backed out changeset 13c0d857bf3c (bug 1444434)
Backed out changeset d2c85db549ea (bug 1444434)
Backed out changeset 543708a1f683 (bug 1444434)
Backed out changeset af008ed0a5c2 (bug 1444434)
Backed out changeset ec2a81eea388 (bug 1444434)
Backed out changeset 0bcf6edc8656 (bug 1444434)
2019-03-26 23:43:17 +02:00
Dzmitry Malyshau 5e158608bc Bug 1528674 - WR improve picture texture cache allocaton r=gw
The change contains a number of incremental improvements with the main goal of:
  - allocating exactly as many tile as required by the app
  - respecting the picture caching option

Differential Revision: https://phabricator.services.mozilla.com/D24740

--HG--
extra : moz-landing-system : lando
2019-03-26 21:18:09 +00:00
Barret Rennie b8fcd696e6 Bug 1444434 - Free the Gecko profiler screenshots structures in the WebRender renderer when profiling stops r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D23964

--HG--
extra : moz-landing-system : lando
2019-03-21 19:30:34 +00:00
Barret Rennie 0bbd0a6539 Bug 1444434 - Submit screenshots to the Gecko profiler from WebRender r=kvark,mstange
Differential Revision: https://phabricator.services.mozilla.com/D23963

--HG--
extra : moz-landing-system : lando
2019-03-26 18:33:19 +00:00
Barret Rennie 02072d330d Bug 1444434 - Add C bindings to the Renderer::get_screenshot_async and Renderer::map_and_recycle_screenshot APIs r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D23962

--HG--
extra : moz-landing-system : lando
2019-03-21 19:09:22 +00:00
Doug Thayer a794a12c8c Bug 1441308 - Always send parent commands when sending mDestroyedActors r=kats,sotaro
If we try to send them separately as we were before, we can run into
cases where we try to destroy the actors and then send the OpRemoveTexture,
which crashes.

Differential Revision: https://phabricator.services.mozilla.com/D23987

--HG--
extra : moz-landing-system : lando
2019-03-22 18:29:04 +00:00
Doug Thayer b172543596 Bug 1441308 - Core renderroot splitting changes r=kats,sotaro
This is a large patch that contains all of the core changes for
renderroot splitting.

Differential Revision: https://phabricator.services.mozilla.com/D20701

--HG--
extra : moz-landing-system : lando
2019-03-22 18:28:42 +00:00
Ciure Andrei 3de853018a Backed out 7 changesets (bug 1441308)for causing webrender build bustages CLOSED TREE
Backed out changeset 1764701d11d1 (bug 1441308)
Backed out changeset 32f7793dfd1a (bug 1441308)
Backed out changeset d8b4d6ec9b40 (bug 1441308)
Backed out changeset e2f83e4816dd (bug 1441308)
Backed out changeset baee8ada680f (bug 1441308)
Backed out changeset c09a51622e98 (bug 1441308)
Backed out changeset 737807563dd5 (bug 1441308)
2019-03-22 10:52:44 +02:00
Doug Thayer 278c2303da Bug 1441308 - Always send parent commands when sending mDestroyedActors r=kats,sotaro
If we try to send them separately as we were before, we can run into
cases where we try to destroy the actors and then send the OpRemoveTexture,
which crashes.

Differential Revision: https://phabricator.services.mozilla.com/D23987

--HG--
extra : moz-landing-system : lando
2019-03-21 23:15:42 +00:00
Doug Thayer 5b3a0454a4 Bug 1441308 - Core renderroot splitting changes r=kats,sotaro
This is a large patch that contains all of the core changes for
renderroot splitting.

Differential Revision: https://phabricator.services.mozilla.com/D20701

--HG--
extra : moz-landing-system : lando
2019-03-22 03:15:14 +00:00
Glenn Watson 8452fc14bc Bug 1536732 - Add experimental pixel-local-storage render path to WR r=kvark
Add an experimental code path that makes use of the pixel local
storage extension available on many mobile GPUs.

This code path is currently disabled by default, as the support
is not complete for all primitives and blend modes. The initial
aim is to get feature parity with the existing renderer.

Once that's complete, we can take advantage of the (minimum)
12 bytes per pixel of high speed on-tile memory to store custom
data.

Clip masks are a good use case for this, since they map 1:1 with
the position of the fragment they are clipping. Using this for
clip masks allows us to handle clipping on mobile GPUs in a much
more efficient way - we can skip (a) separate render targets,
(b) target resolve (c) sample the mask texture during rendering.

Depends on D24123

Differential Revision: https://phabricator.services.mozilla.com/D24124

--HG--
extra : moz-landing-system : lando
2019-03-21 02:59:04 +00:00
Barret Rennie 36cd17958e Bug 1444434 - Bump webrender and webrender_bindings gleam dependency to 0.6.14 r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D23958

--HG--
extra : moz-landing-system : lando
2019-03-20 19:52:53 +00:00
sotaro 4649e87987 Bug 1532929 - Use SharedGL on android r=nical
RenderCompositorEGL is also used on wayland, but SharedGL is not enabled on wayalnd. Since SharedGL caused flickering, when multiple windows were opened on wayland.

Differential Revision: https://phabricator.services.mozilla.com/D23786

--HG--
extra : moz-landing-system : lando
2019-03-20 11:51:33 +00:00
sotaro 830d52b3e8 Bug 1536002 - Add SharedGL check in RenderCompositorANGLE::Create() r=nical
Differential Revision: https://phabricator.services.mozilla.com/D23824

--HG--
extra : moz-landing-system : lando
2019-03-20 11:52:26 +00:00
Bobby Holley c492c0fe0f Bug 1535745 - Eliminate gfx.webrender.program-binary. r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D23731

--HG--
extra : moz-landing-system : lando
2019-03-16 00:31:38 +00:00
Sylvestre Ledru 4aa92e3091 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D22514
2019-03-13 10:19:06 +01:00
Dzmitry Malyshau 7f7b9d9668 Bug 1527325 - Don't re-export contents of WR API units r=gw
The cleans up our WR use statements further, easying the merge conflicts.
Note: this PR is subject to instant rot, it is preferred to land quickly.

Differential Revision: https://phabricator.services.mozilla.com/D23373

--HG--
extra : moz-landing-system : lando
2019-03-14 01:44:05 +00:00
Gurzau Raul fc5efa3bc0 Backed out changeset 950174a8c708 (bug 1527325) for wrench failures on a CLOSED TREE. 2019-03-14 00:56:55 +02:00
Dzmitry Malyshau 5136f1e520 Bug 1527325 - Don't re-export contents of WR API units r=gw
The cleans up our WR use statements further, easying the merge conflicts.
Note: this PR is subject to instant rot, it is preferred to land quickly.

Differential Revision: https://phabricator.services.mozilla.com/D23373

--HG--
extra : moz-landing-system : lando
2019-03-13 19:30:56 +00:00
sotaro 2c65d7229c Bug 1532949 - Bug 1532024 - Explicityly create headless context for webrender in RenderCompositorEGL r=jgilbert
On Wayland with WebRender, RenderCompositorEGL creates headless context by using GLContextProviderEGL::CreateForCompositorWidget(), since GetNativeData(NS_NATIVE_EGL_WINDOW) returns nullptr. But we want to make hadless explicitly. But GLContextProviderEGL::CreateHeadless() and GLContextEGL::CreateEGLPBufferOffscreenContext() could not be used for it. They creates incompatible EGLConfig to egl window. Then we extends GLContextProviderEAGL::CreateForCompositorWidget() to handle this case. When CreateForCompositorWidget() receives null widget, it creates GLContext without surface of egl window.

Differential Revision: https://phabricator.services.mozilla.com/D22454

--HG--
extra : moz-landing-system : lando
2019-03-13 00:17:01 +00:00
Jeff Muizelaar 738abee653 Bug 1524090. Add telemetry for GPU wait time. r=mattwoodrow,chutten
Differential Revision: https://phabricator.services.mozilla.com/D22100

--HG--
extra : moz-landing-system : lando
2019-03-13 02:34:04 +00:00
Narcis Beleuzu b72a1a06b5 Backed out changeset 5b73beb33ff1 (bug 1524090) as per jmuizelaar`s req. CLOSED TREE 2019-03-12 21:27:46 +02:00
Jeff Muizelaar 96e163c84f Bug 1524090. Add telemetry for GPU wait time. r=mattwoodrow,chutten
Differential Revision: https://phabricator.services.mozilla.com/D22100

--HG--
extra : moz-landing-system : lando
2019-03-05 21:35:33 +00:00
sotaro c046c7a430 Bug 1531294 - Fix RecvEmptyTransaction() as to handle WebRenderTextureHostWrapper usage case
By Bug 1526213, WebRenderBridgeParent::RecvEmptyTransaction() does not handle a case that resource update is handled by WebRenderTextureHostWrapper. In this case, txn.IsResourceUpdatesEmpty() became true and the function thought there was no resource update and the function returned DidComposite soon to client side. Then it caused a heavy over production of SharedSurface_ANGLEShareHandle if GPU is not powerful.

Differential Revision: https://phabricator.services.mozilla.com/D22454
2019-03-12 21:48:34 +09:00
Dorel Luca d16991b48d Backed out changeset ec39fd695adb (bug 1531294) for webrender failures 2019-03-12 05:33:33 +02:00
sotaro ed7384e097 Bug 1531294 - Fix RecvEmptyTransaction() as to handle WebRenderTextureHostWrapper usage case r=mattwoodrow
By Bug 1526213, WebRenderBridgeParent::RecvEmptyTransaction() does not handle a case that resource update is handled by WebRenderTextureHostWrapper. In this case, txn.IsResourceUpdatesEmpty() became true and the function thought there was no resource update and the function returned DidComposite soon to client side. Then it caused a heavy over production of SharedSurface_ANGLEShareHandle if GPU is not powerful.

Differential Revision: https://phabricator.services.mozilla.com/D22894

--HG--
extra : moz-landing-system : lando
2019-03-11 23:05:58 +00:00
Bobby Holley af5a99b2ad Bug 1532810 - Report long-running GL calls to the profiler. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D22202
2019-03-08 13:34:49 -08:00
shindli b483c4a572 Backed out 3 changesets (bug 1532810) for wrench bustages CLOSED TREE
Backed out changeset 866b6d9949a8 (bug 1532810)
Backed out changeset 1cb006402562 (bug 1532810)
Backed out changeset 24b9ae45e4fa (bug 1532810)
2019-03-08 19:41:32 +02:00
Bobby Holley c1cbf37e13 Bug 1532810 - Report long-running GL calls to the profiler. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D22202
2019-03-08 09:16:50 -08:00
Emilio Cobos Álvarez cb19991fd7 Bug 1533142 - Use more cbindgen features. r=kats
We can get back the fancy flag syntax as soon as we get C++17 inline variables,
which I sent an email to dev-platform@ about, with no reply.

Differential Revision: https://phabricator.services.mozilla.com/D22382

--HG--
extra : moz-landing-system : lando
2019-03-06 23:01:11 +00:00
sotaro 81c5f1f2b3 Bug 1532942 - Use EGLConfig as argument of CreateEGLSurfaceForCompositorWidget() r=jgilbert
EGLConfig could be get from GLContextEGL. It is better to use it than re-creating EGLConfig.

Differential Revision: https://phabricator.services.mozilla.com/D22274

--HG--
extra : moz-landing-system : lando
2019-03-06 19:00:38 +00:00
Jeff Muizelaar 70f8b5c221 Bug 1532088. Use ImageMask directly instead of duplicating it as WrImageMask. r=kats
WrImageMask is a relic from before we had good bindings generation.

Differential Revision: https://phabricator.services.mozilla.com/D21845

--HG--
extra : moz-landing-system : lando
2019-03-02 21:48:06 +00:00
Dzmitry Malyshau 79ad259c7c Bug 1531217 - Document origin rewrite and framebuffer coordinates r=gw,nical
The goal of this change was to simplify the semantics of our document placement and split the logical elements inside (display list) from the actual screen rectangle occupied by a document.
To achieve that, we introduce the framebuffer space for things Y-flipped on screen.
We fix the frame outputs, so that they get produced on the first frame without loopback from the frame building to scene building.

Differential Revision: https://phabricator.services.mozilla.com/D21641

--HG--
extra : moz-landing-system : lando
2019-03-01 17:16:59 +00:00
Csoregi Natalia b2672c85cf Backed out changeset 93f7dc3084a1 (bug 1531217) for wrench failures. CLOSED TREE 2019-03-01 18:48:30 +02:00
Dzmitry Malyshau a8d4f45a20 Bug 1531217 - Document origin rewrite and framebuffer coordinates r=gw,nical
The goal of this change was to simplify the semantics of our document placement and split the logical elements inside (display list) from the actual screen rectangle occupied by a document.
To achieve that, we introduce the framebuffer space for things Y-flipped on screen.
We fix the frame outputs, so that they get produced on the first frame without loopback from the frame building to scene building.

Differential Revision: https://phabricator.services.mozilla.com/D21641

--HG--
extra : moz-landing-system : lando
2019-03-01 14:25:36 +00:00
Gurzau Raul 6b94d177d1 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-03-01 09:28:28 +02:00
sotaro bb1cae8db3 Bug 1531300 - Handle multiple moz_container_unmap_wayland()/moz_container_map_wayland() r=stransky
Bug 1527804 did not expect multiple moz_container_unmap_wayland()/moz_container_map_wayland() calls. inital_draw_cb should not be cleared in multiple moz_container_unmap_wayland().

Differential Revision: https://phabricator.services.mozilla.com/D21522

--HG--
extra : moz-landing-system : lando
2019-02-28 13:33:02 +00:00
Glenn Watson fde9185d49 Bug 1530915 - Change external scroll offset to be a vector. r=emilio
Change the external scroll offset to be a vector, rather than a
point. This can also be updated gecko-side in future, but for
now is converted to a vector at the API boundary.

Also plumb through the external scroll offset so that it is stored
inside the ScrollFrameInfo in a spatial node. This will allow
modifying the transforms that the clip-scroll tree creates to
take into account the external scroll offset in future.

Differential Revision: https://phabricator.services.mozilla.com/D21319

--HG--
extra : moz-landing-system : lando
2019-02-27 05:26:50 +00:00
Kartikaya Gupta 41138306e0 Bug 1527807 - Disable subpixel AA on Android. r=Gankro
Differential Revision: https://phabricator.services.mozilla.com/D21269

--HG--
extra : moz-landing-system : lando
2019-02-26 21:39:07 +00:00
Timothy Nikkel 02ac32975f Bug 1505871. Implement the necessary things for interning of filter data. r=gw 2019-02-26 00:16:36 -06:00
Timothy Nikkel f39f60fa91 Bug 1505871. Write component transfer filter data into the webrender display list bitstream. r=jrmuizel
The format for stacking contexts in the built display list goes from

PushStackingContext item
push_iter of Vec<FilterOp>

to

SetFilterOps item
push_iter of Vec<FilterOp>
1st SetFilterData item
push_iter of array of func types
push_iter funcR values
push_iter funcG values
push_iter funcB values
push_iter funcA values
.
.
.
nth SetFilterData item
push_iter of array of func types
push_iter funcR values
push_iter funcG values
push_iter funcB values
push_iter funcA values
PushStackingContext item

We need separate a SetFilterData item for each filter because we can't push_iter a variable sized thing.

When we iterate over the built display list to flatten it we work similarly to how gradients work with a SetGradientStops item before the actual gradient item. So when we see SetFilterOps or SetFilterData we use them to fill out values on the built display list iterator but don't those items return them to the iterator user and instead continue iterating until we hit the PushStackingContext item, at which point to the iterator consumer it appears as those the FilterOps and FilterDatas were on the PushStackingContext item. (This part is trickier too since we need a TempFilterData type that just holds ItemRange's until we get the actual bytes later.)

Do we need to clear cur_filters and cur_filter_data at some point to prevent them from getting ready by items for which they do not apply?
2019-02-26 00:16:36 -06:00
Timothy Nikkel 4a54583c19 Bug 1505871. C++ code to get component transfer filter data into webrender. r=jrmuizel
Have to use a pointer/size pair to transfer the value list to rust.

We use a "filter holder" that contains an nsTArray that owns the values.
2019-02-26 00:16:36 -06:00
Timothy Nikkel b2695b4b73 Backed out changeset 2bf33f573505 2019-02-25 22:48:35 -06:00
Timothy Nikkel 213203d8e5 Backed out changeset 90660632d641 2019-02-25 22:48:04 -06:00
Timothy Nikkel 8238bfd239 Backed out changeset 11c9d5a64a30 2019-02-25 22:47:40 -06:00
Timothy Nikkel 22cf8be9b7 Bug 1505871. Implement the necessary things for interning of filter data. r=gw 2019-02-25 22:45:16 -06:00
Timothy Nikkel 5455bb5b62 Bug 1505871. Write component transfer filter data into the webrender display list bitstream. r=jrmuizel
The format for stacking contexts in the built display list goes from

PushStackingContext item
push_iter of Vec<FilterOp>

to

SetFilterOps item
push_iter of Vec<FilterOp>
1st SetFilterData item
push_iter of array of func types
push_iter funcR values
push_iter funcG values
push_iter funcB values
push_iter funcA values
.
.
.
nth SetFilterData item
push_iter of array of func types
push_iter funcR values
push_iter funcG values
push_iter funcB values
push_iter funcA values
PushStackingContext item

We need separate a SetFilterData item for each filter because we can't push_iter a variable sized thing.

When we iterate over the built display list to flatten it we work similarly to how gradients work with a SetGradientStops item before the actual gradient item. So when we see SetFilterOps or SetFilterData we use them to fill out values on the built display list iterator but don't those items return them to the iterator user and instead continue iterating until we hit the PushStackingContext item, at which point to the iterator consumer it appears as those the FilterOps and FilterDatas were on the PushStackingContext item. (This part is trickier too since we need a TempFilterData type that just holds ItemRange's until we get the actual bytes later.)

Do we need to clear cur_filters and cur_filter_data at some point to prevent them from getting ready by items for which they do not apply?
2019-02-25 22:45:15 -06:00
Timothy Nikkel b9d0354d8a Bug 1505871. C++ code to get component transfer filter data into webrender. r=jrmuizel
Have to use a pointer/size pair to transfer the value list to rust.

We use a "filter holder" that contains an nsTArray that owns the values.
2019-02-25 22:45:15 -06:00
Jamie Nicol 32ffe0f9b1 Bug 1498732 - Update gleam to 0.6.9. r=kats
This provides the functions glMapBufferRange and glUnmapBuffer.

Differential Revision: https://phabricator.services.mozilla.com/D20491

--HG--
extra : moz-landing-system : lando
2019-02-25 14:59:01 +00:00
Coroiu Cristina 6a915c899d Merge mozilla-central to inbound a=merge 2019-02-22 18:41:16 +02:00
Dorel Luca 3b7aa5a584 Merge mozilla-central to autoland. CLOSED TREE
--HG--
extra : amend_source : 7031cab1673ebf517464fe27a8320beee794f1d8
2019-02-22 09:23:50 +02:00
sotaro d33affb03f Bug 1528865 - Change SwapChain's BufferUsage as to add DXGI_USAGE_SHADER_INPUT r=kvark
DXGI_USAGE_SHADER_INPUT is set for improving performance of copying from framebuffer to texture on intel gpu.

Differential Revision: https://phabricator.services.mozilla.com/D20622
2019-02-22 08:31:12 +09:00
Nicolas Silva 83085f11a5 Bug 1476368 - Reserve storage for the dynamic property vectors in the bindings before filling them. r=kvark
--HG--
extra : source : 4246885397b41acd0cfd60fa2ec50d75584ec84a
extra : histedit_source : cc18ffbad76aca8d3f8e598fb61832597c9c371c
2019-02-19 18:43:41 +01:00
Kartikaya Gupta c366cdefb9 Bug 1528987 - Send the gecko scroll offsets for scrollframes to WR. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D20667

--HG--
extra : moz-landing-system : lando
2019-02-21 21:06:25 +00:00
Jeff Gilbert d6410e953a Bug 1528394 - Reduce includes of GLContext.h. r=lsalzman
Splitting part of OGLShaderProgram.h out into OGLShaderConfig.h makes it
easier to keep GLContext.h included in OGLShaderProgram.h for inlining
purposes.

Differential Revision: https://phabricator.services.mozilla.com/D20017

--HG--
extra : moz-landing-system : lando
2019-02-19 23:25:42 +00:00
Dorel Luca 342127c75f Backed out changeset 2c28c2185a32 (bug 1528394) for build bustage. CLOSED TREE 2019-02-19 22:09:07 +02:00
Jeff Gilbert 58e561b983 Bug 1528394 - Reduce includes of GLContext.h. r=lsalzman
Splitting part of OGLShaderProgram.h out into OGLShaderConfig.h makes it
easier to keep GLContext.h included in OGLShaderProgram.h for inlining
purposes.

Differential Revision: https://phabricator.services.mozilla.com/D20017

--HG--
extra : moz-landing-system : lando
2019-02-19 05:23:54 +00:00
Masatoshi Kimura e25fbce870 Bug 1528651 - Re-enable warnings-as-errors on Windows in some directories. r=dmajor
--HG--
extra : source : ba86ea25070b37f4725834e1c2d9ec4c0783e119
2019-02-17 15:03:02 +09:00
sotaro 087c420a72 Bug 1526213 - Enable WebRenderTextureHostWrapper for canvas r=nical
By using WebRenderTextureHostWrapper for canvas, we could avoid triggering frame build on WebRender backend if WebRenderTextureHostWrapper is only change.

Differential Revision: https://phabricator.services.mozilla.com/D19896

--HG--
extra : moz-landing-system : lando
2019-02-18 09:33:32 +00:00
Nicolas Silva b32dce70e6 Bug 1527884 - WebRender version 0.60.0. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D19796

--HG--
extra : moz-landing-system : lando
2019-02-15 02:54:40 +00:00
Sylvestre Ledru 41d1d79094 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D19663

--HG--
extra : moz-landing-system : lando
2019-02-15 08:15:57 +00:00
Bogdan Tara 3ccaa3b9ba Backed out changeset e23608ddeac0 (bug 1527884) for wrench bustages CLOSED TREE 2019-02-14 16:43:24 +02:00