searching for reviewer(nical)
f0dfc557b20c1dd9c2865df1db2a34dc783c92f8: Bug 1596630 - Remove mSyncObject->Synchronize() in RenderCompositorANGLE::BeginFrame() r=nical
sotaro <sotaro.ikeda.g@gmail.com> - Mon, 18 Nov 2019 09:49:15 +0000 - rev 502406
Push 114172 by dluca@mozilla.com at Tue, 19 Nov 2019 11:31:10 +0000
Bug 1596630 - Remove mSyncObject->Synchronize() in RenderCompositorANGLE::BeginFrame() r=nical mSyncObject->Synchronize() was necessary to handle a case that D3D Texture was created on main thread of content process and the Texture does not have a keyed mutex. But with WebRender, the situation does not happen often. Further the Synchronize() is sometimes very slow. Therefore it is better to remove it from RenderCompositorANGLE::BeginFrame(). Canvas 2d does not use keyed mutex yet. Then the change adds keyed mutex usage for the canvas 2d. D3D11DXVA2Manager still uses the Synchronize(). In this case, the Synchronize() is manually called in D3D11DXVA2Manager::CopyToImage(). Then RenderCompositorANGLE still needs to create SyncObjectHost. Differential Revision: https://phabricator.services.mozilla.com/D53168
68c4c2622a23a76ad4ee3fe130b82c0d9d39ab19: Bug 1596791: Invalidate the rendered frame when processing OpUpdatedAsyncImagePipeline commands. r=nical
Bob Owen <bobowencode@gmail.com> - Mon, 18 Nov 2019 10:59:40 +0000 - rev 502399
Push 114172 by dluca@mozilla.com at Tue, 19 Nov 2019 11:31:10 +0000
Bug 1596791: Invalidate the rendered frame when processing OpUpdatedAsyncImagePipeline commands. r=nical This stops the potential build up of held textures during a series of empty webrender transactions, because of a render not happening. The patch also only sends the OpUpdatedAsyncImagePipeline command when a new texture has been forwarded for the canvas, to prevent unnecessary invalidation. Differential Revision: https://phabricator.services.mozilla.com/D53223
b2abdbdb7ba238d751dd706d5f506fcb7556b797: Bug 1591754 - Fix incorrect surface deletions when frames are skipped. r=nical
Glenn Watson <git@intuitionlibrary.com> - Fri, 15 Nov 2019 09:46:43 +0000 - rev 502218
Push 114172 by dluca@mozilla.com at Tue, 19 Nov 2019 11:31:10 +0000
Bug 1591754 - Fix incorrect surface deletions when frames are skipped. r=nical If the render backend is producing frames too quickly for the renderer thread to consume, old frames are dropped in favor of the most recent frame. When this occurs, we need to ensure that any native surface updates from the skipped frame are also applied. Otherwise, the state of the native surfaces list can get out of sync between the renderer and render backend threads. Differential Revision: https://phabricator.services.mozilla.com/D53122
94d03e2199a4ff97f6677baa95df7fff7a286d5d: Bug 1595027 - Disable partial present when SwapChain uses alpha r=nical
sotaro <sotaro.ikeda.g@gmail.com> - Tue, 12 Nov 2019 22:13:41 +0000 - rev 501684
Push 114172 by dluca@mozilla.com at Tue, 19 Nov 2019 11:31:10 +0000
Bug 1595027 - Disable partial present when SwapChain uses alpha r=nical During high contrast mode, alpha is used by SwapChain. In this case, IDXGISwapChain1::Present1() shows nothing with compositor window. To address the problem, we disable the Present1() usage when alpha is used. Differential Revision: https://phabricator.services.mozilla.com/D52511
79b526e185ec5e0d70c7888b98e5a85e55c353f1: Bug 1562642 - add missing license in gfx/ r=nical
Sylvestre Ledru <sledru@mozilla.com> - Tue, 12 Nov 2019 22:01:02 +0000 - rev 501659
Push 114172 by dluca@mozilla.com at Tue, 19 Nov 2019 11:31:10 +0000
Bug 1562642 - add missing license in gfx/ r=nical Depends on D52581 Differential Revision: https://phabricator.services.mozilla.com/D52582
afa3fdcab69155f37dc35daa0cdb22dbb849b907: Bug 1594934 - Handle clip rects in determining picture cache primitive dependencies. r=nical
Glenn Watson <git@intuitionlibrary.com> - Sun, 10 Nov 2019 19:05:23 +0000 - rev 501449
Push 114170 by malexandru@mozilla.com at Tue, 12 Nov 2019 21:58:32 +0000
Bug 1594934 - Handle clip rects in determining picture cache primitive dependencies. r=nical This reduces the amount of invalidation on some pages very significantly. It also fixes a number of cases where picture caching "fails", resulting in everything invalidating every frame. Differential Revision: https://phabricator.services.mozilla.com/D52275
260dfcecdb6287707bd90040a4d2bf7988274ef1: Bug 1594644 - Add debugging infrastructure for picture cache invalidation. r=nical
Glenn Watson <git@intuitionlibrary.com> - Sun, 10 Nov 2019 19:05:15 +0000 - rev 501431
Push 114170 by malexandru@mozilla.com at Tue, 12 Nov 2019 21:58:32 +0000
Bug 1594644 - Add debugging infrastructure for picture cache invalidation. r=nical Add a first pass at invalidation debugging infrastructure. Also tidy up the locations that invalidate into a common method, that sets the invalidation reason. Differential Revision: https://phabricator.services.mozilla.com/D52128
c61c05f3707767aaf77f7cffa741c86ef44ace2d: Bug 1575648 - don't set RUSTFLAGS='--deny warnings' (temporary fix) r=nical
Peter Moore <pmoore@mozilla.com> - Fri, 08 Nov 2019 13:57:53 +0000 - rev 501290
Push 114168 by dluca@mozilla.com at Sun, 10 Nov 2019 03:08:55 +0000
Bug 1575648 - don't set RUSTFLAGS='--deny warnings' (temporary fix) r=nical This change is a temporary fix to not set RUSTFLAGS='--deny warnings' in order to unblock https://bugzil.la/1575648 (which is time-critical). The longer term solution for this is https://bugzil.la/1564873. Differential Revision: https://phabricator.services.mozilla.com/D52360
70442369cd48e37b05d2982f4109622cf8209bc6: Bug 1594305 - Only allocate compositor surfaces for tiles that are not occluded r=nical
Glenn Watson <git@intuitionlibrary.com> - Wed, 06 Nov 2019 19:05:43 +0000 - rev 500923
Push 114166 by apavel@mozilla.com at Thu, 07 Nov 2019 10:04:01 +0000
Bug 1594305 - Only allocate compositor surfaces for tiles that are not occluded r=nical Tiles that are occluded are generally never seen, or only seen occasionally. To reduce the number of compositor surfaces: * Defer native surface allocation until after occlusion culling occurs. * If a tile has a native surface, then becomes occluded, drop the surface. With this scheme, the number of unused native surfaces will always be 0 on a page that doesn't have scrolling. For a page that has a scrollable region, there will be a small number of unused tiles retained. The unused tiles are those that are (a) not occluded (b) not currently visible (c) are in the display port. We retain these for a small amount of time in case they get scrolled back on screen. This makes the allocation patterns for native surfaces match the way that picture cache surfaces are allocated for simple compositing mode. Differential Revision: https://phabricator.services.mozilla.com/D51973
8189d25586fb6dd2d8e4f5bafbc43a1e31f4988e: Bug 1593929 - Make invalidate_rendered_frame triggers force redraw r=nical
sotaro <sotaro.ikeda.g@gmail.com> - Wed, 06 Nov 2019 09:00:37 +0000 - rev 500832
Push 114166 by apavel@mozilla.com at Thu, 07 Nov 2019 10:04:01 +0000
Bug 1593929 - Make invalidate_rendered_frame triggers force redraw r=nical Invalidate_rendered_frame expects full rendering in next WR rendering. Then when invalidate_rendered_frame is requested, we need to request force redraw. Otherwise, SwapChain might skip present call during partial present. Differential Revision: https://phabricator.services.mozilla.com/D51784
b2d3abd657660140762e4354643a805445e02cd6: Bug 1593901 - Support debug / profiler overlays in native compositor mode. r=nical
Glenn Watson <git@intuitionlibrary.com> - Tue, 05 Nov 2019 22:57:22 +0000 - rev 500747
Push 114166 by apavel@mozilla.com at Thu, 07 Nov 2019 10:04:01 +0000
Bug 1593901 - Support debug / profiler overlays in native compositor mode. r=nical Differential Revision: https://phabricator.services.mozilla.com/D51753
2e1945e590ff9eb0907c6ee475efc31bdef5b207: Bug 1593383 - Force full rendering to external target r=nical,gw
sotaro <sotaro.ikeda.g@gmail.com> - Tue, 05 Nov 2019 09:06:59 +0000 - rev 500584
Push 114166 by apavel@mozilla.com at Thu, 07 Nov 2019 10:04:01 +0000
Bug 1593383 - Force full rendering to external target r=nical,gw LayerManagerComposite and LayerManagerMLGPU do full rendering for taking a snapshot. Then WR also does full rendering for taking a snapshot. Differential Revision: https://phabricator.services.mozilla.com/D51775
7612b140db29774d27160e786236df6bc7560fcf: Bug 1593319 - Set aFboId in DCLayerTree::Bind() r=gw,nical
sotaro <sotaro.ikeda.g@gmail.com> - Tue, 05 Nov 2019 09:07:11 +0000 - rev 500572
Push 114166 by apavel@mozilla.com at Thu, 07 Nov 2019 10:04:01 +0000
Bug 1593319 - Set aFboId in DCLayerTree::Bind() r=gw,nical EGLSurface could be bound only to framebuffer-zero. Differential Revision: https://phabricator.services.mozilla.com/D51774
95dfa337c1dbb77e210abc30790ccb49ff7e163b: Bug 1591758 - Fix dirty rects for OS compositors without partial updates. r=nical
Glenn Watson <git@intuitionlibrary.com> - Tue, 05 Nov 2019 08:43:10 +0000 - rev 500569
Push 114166 by apavel@mozilla.com at Thu, 07 Nov 2019 10:04:01 +0000
Bug 1591758 - Fix dirty rects for OS compositors without partial updates. r=nical Differential Revision: https://phabricator.services.mozilla.com/D51773
5a3b621d152d45ffc5b1f85e0129ef32ad8681b4: Bug 1591526 - Use occlusion culling to reduce number of picture cache tiles. r=nical
Glenn Watson <git@intuitionlibrary.com> - Mon, 04 Nov 2019 19:27:52 +0000 - rev 500433
Push 114164 by aiakab@mozilla.com at Tue, 05 Nov 2019 10:06:15 +0000
Bug 1591526 - Use occlusion culling to reduce number of picture cache tiles. r=nical During the visibility pass, picture caches register themselves as occluders, if they have a valid opaque region. During the primitive preparation pass, each tile queries if it is occluded. If so, it skips rasterization and compositing of itself for this frame. In this way, tiles that are always occluded never end up allocating GPU memory for a surface. Also add support during primitive dependency generation for opaque images to be considered as part of the opaque backdrop region. Differential Revision: https://phabricator.services.mozilla.com/D51555
d0f88eadd0f583df0e805409c8158bfa6f826d92: Bug 1592417 - Reduce work done when picture cache tiles are inside the display port but not currently visible. r=nical
Glenn Watson <git@intuitionlibrary.com> - Sun, 03 Nov 2019 03:38:57 +0000 - rev 500296
Push 114164 by aiakab@mozilla.com at Tue, 05 Nov 2019 10:06:15 +0000
Bug 1592417 - Reduce work done when picture cache tiles are inside the display port but not currently visible. r=nical Previously, WR needed to update and track dependencies for all allocated picture cache tiles in the virtual display port. This means doing extra CPU work (dependency updates) and in some cases, extra GPU work (larger off-screen child surfaces) than are strictly required. With this patch, each tile determines if it is currently visible in pre_update. If the tile isn't visible, we skip doing dependency updates until it is on screen again. More importantly, this is used to reduce the world culling rect for primitive preparation, which also means large child surfaces only require allocations large enough to enclose the visible tiles, rather than the display port. Differential Revision: https://phabricator.services.mozilla.com/D51006
2dc0263436f78b1689d5e23a2b24720181e91ea4: Bug 1592891 - Disable picture caching when picture caches have complex transforms. r=kvark,nical
Glenn Watson <git@intuitionlibrary.com> - Thu, 31 Oct 2019 19:53:44 +0000 - rev 500071
Push 114164 by aiakab@mozilla.com at Tue, 05 Nov 2019 10:06:15 +0000
Bug 1592891 - Disable picture caching when picture caches have complex transforms. r=kvark,nical With the recent changes to compositing in WR, the scene must either only produce produce cache tiles, or disable picture caching and rasterize directly. This patch removes the (currently broken) path where WR would attempt to disable only the picture cache slice(s) that have a complex transform. In future, we should disable creating picture cache slices with complex transforms at the API level, and remove this path completely. Differential Revision: https://phabricator.services.mozilla.com/D51228
ec461bb743879113bbacf991e27719725c5837bf: Bug 1592810 - Add support for dynamically disabling picture caching, for pinch zoom cases. r=nical
Glenn Watson <git@intuitionlibrary.com> - Thu, 31 Oct 2019 08:38:01 +0000 - rev 499951
Push 114164 by aiakab@mozilla.com at Tue, 05 Nov 2019 10:06:15 +0000
Bug 1592810 - Add support for dynamically disabling picture caching, for pinch zoom cases. r=nical This patch allows WR to dynamically choose whether picture caching is enabled per-frame, rather than only during initialization. This will allow mobile devices to disable picture caching during pinch zoom events, where tiles will be constantly invalidated. This can also be controlled via a debug flag, which allows dynamic toggling of picture caching in both Gecko and Wrench. This is useful for profiling, to compare direct rasterization to picture caching performance. The native compositor interface relies on picture caching. So, if a native compositor is enabled, picture caching is force enabled. Differential Revision: https://phabricator.services.mozilla.com/D51211
163fee721e55768a387da88c7595904f4bcdcef5: Bug 1592213: Allow up to 2 more textures in PersistentBufferProviderShared when webrender enabled. r=nical
Bob Owen <bobowencode@gmail.com> - Wed, 30 Oct 2019 10:05:59 +0000 - rev 499754
Push 114163 by aiakab@mozilla.com at Thu, 31 Oct 2019 10:03:38 +0000
Bug 1592213: Allow up to 2 more textures in PersistentBufferProviderShared when webrender enabled. r=nical Differential Revision: https://phabricator.services.mozilla.com/D51063
e7d319abbe1fa8810b00cdae538dfd750e879e79: Bug 1592408 - DrawTargetCairo.cpp: Only compile 'GfxFormatToPixmanFormat' when not using skia r=nical
Sylvestre Ledru <sledru@mozilla.com> - Wed, 30 Oct 2019 09:55:11 +0000 - rev 499749
Push 114163 by aiakab@mozilla.com at Thu, 31 Oct 2019 10:03:38 +0000
Bug 1592408 - DrawTargetCairo.cpp: Only compile 'GfxFormatToPixmanFormat' when not using skia r=nical Differential Revision: https://phabricator.services.mozilla.com/D50998
59fc72700a9347cce736bf3f770c644b804a8c1e: Bug 1592121 - Ensure prim instances in culled clusters are reset. r=nical
Glenn Watson <git@intuitionlibrary.com> - Tue, 29 Oct 2019 08:55:16 +0000 - rev 499583
Push 114161 by ncsoregi@mozilla.com at Tue, 29 Oct 2019 21:34:24 +0000
Bug 1592121 - Ensure prim instances in culled clusters are reset. r=nical This prevents stale indices into the prim visibility scratch buffer being reused on subsequent frames, which can cause various unexpected code paths to be hit. Differential Revision: https://phabricator.services.mozilla.com/D50891
3f55a2e620e469a319b079b968382f903170ed30: Bug 1588987 - Do not trigger WR rendering during paused state r=nical
sotaro <sotaro.ikeda.g@gmail.com> - Wed, 16 Oct 2019 09:10:30 +0000 - rev 497812
Push 114154 by btara@mozilla.com at Thu, 17 Oct 2019 09:58:40 +0000
Bug 1588987 - Do not trigger WR rendering during paused state r=nical Differential Revision: https://phabricator.services.mozilla.com/D49379
ffd3e39768a37271b681b813183f60f7fdaf6e01: Bug 1588019 - Add option of enabling highlighting redraw regions of DCompositionVisual r=nical
sotaro <sotaro.ikeda.g@gmail.com> - Mon, 14 Oct 2019 12:55:01 +0000 - rev 497509
Push 114152 by dvarga@mozilla.com at Tue, 15 Oct 2019 11:14:34 +0000
Bug 1588019 - Add option of enabling highlighting redraw regions of DCompositionVisual r=nical Differential Revision: https://phabricator.services.mozilla.com/D48937
1af5cb02462a3f01b83cdb48da9644da36ec7e4d: Bug 1587676 - Allocate picture caching tile surfaces later during the frame. r=nical,kvark
Glenn Watson <git@intuitionlibrary.com> - Sun, 13 Oct 2019 20:24:40 +0000 - rev 497363
Push 114148 by shindli@mozilla.com at Mon, 14 Oct 2019 10:49:50 +0000
Bug 1587676 - Allocate picture caching tile surfaces later during the frame. r=nical,kvark Instead of allocating a tile surface from the texture cache during the tile post_update method, this is now deferred until the take_context method of picture. This will allow a simple CPU occlusion culling pass to run after all the tile cache dependency updates (when the visible tiles and rects are know), but before the surfaces are allocated. In this way, we will be able to skip allocating, rasterizing and compositing any tiles that are eliminated by the occlusion culling test. Differential Revision: https://phabricator.services.mozilla.com/D48795
d0d277ebb44885cea69ee45e34a357bf76150ad0: Bug 1587695 - Fix redundant SwapChain re-creation r=nical
sotaro <sotaro.ikeda.g@gmail.com> - Thu, 10 Oct 2019 08:58:00 +0000 - rev 497081
Push 114148 by shindli@mozilla.com at Mon, 14 Oct 2019 10:49:50 +0000
Bug 1587695 - Fix redundant SwapChain re-creation r=nical Since Bug 1570879, SwapChain is created with alpha at first, then the SwapChain is typically re-created at first RenderCompositorANGLE::BeginFrame() calle, since non Glass window is common since Windows 10. The re-creation is redundant. Differential Revision: https://phabricator.services.mozilla.com/D48800
68dee1ec153d988611cc66113a72513358d4b58e: Bug 1585278 - Add option of enabling performance debugging counters of DirectComposition r=nical,jrmuizel
sotaro <sotaro.ikeda.g@gmail.com> - Mon, 07 Oct 2019 20:09:17 +0000 - rev 496924
Push 114147 by ccoroiu@mozilla.com at Thu, 10 Oct 2019 09:56:56 +0000
Bug 1585278 - Add option of enabling performance debugging counters of DirectComposition r=nical,jrmuizel IDCompositionDevice is replaced by IDCompositionDevice2. It is necessary for IDCompositionDeviceDebug usage. And for using IDCompositionDevice2, _WIN32_WINNT and NTDDI_VERSION is updated from Windows 8 to Windows 8.1. Workaround MinGW build failure. Differential Revision: https://phabricator.services.mozilla.com/D47742
29ecd1185d1cd5cc87c835fb7666d095b9368ca2: Bug 1587084 - Restore the picture caching enabled preference. r=nical
Glenn Watson <git@intuitionlibrary.com> - Wed, 09 Oct 2019 08:07:36 +0000 - rev 496923
Push 114147 by ccoroiu@mozilla.com at Thu, 10 Oct 2019 09:56:56 +0000
Bug 1587084 - Restore the picture caching enabled preference. r=nical The previous patch fixed the bug in the non-picture caching code path, so we can re-enable the preference now. Differential Revision: https://phabricator.services.mozilla.com/D48639
cdf7aba0ad00bca05ab1da53540da4775fda5cbc: Bug 1570879 - Fix high contrast theme handling with DirectComposition and WebRender r=nical
sotaro <sotaro.ikeda.g@gmail.com> - Tue, 08 Oct 2019 10:07:47 +0000 - rev 496730
Push 114146 by dmajor@mozilla.com at Wed, 09 Oct 2019 17:52:49 +0000
Bug 1570879 - Fix high contrast theme handling with DirectComposition and WebRender r=nical When high contrast mode is enabled, title bar is drawn as transparent and on-client area rendering by DWM is shown. But when compositor window in GPU process is used, the on-client area rendering was not shown. To address the proboem, window needs to be cleard as transparent and SwapChain of compositor window needs to be DXGI_ALPHA_MODE_PREMULTIPLIED. WinCompositorWidget::mTransparencyMode is changed to atomic, since it is accessed from compositor thread and render thread. Differential Revision: https://phabricator.services.mozilla.com/D48302
4c696f6996de4681b114a6cf17f4b750d5363f68: Bug 1582210. Support splitting blob images into different sizes. r=nical
Jeff Muizelaar <jmuizelaar@mozilla.com> - Mon, 07 Oct 2019 21:27:41 +0000 - rev 496659
Push 114145 by apavel@mozilla.com at Tue, 08 Oct 2019 11:00:56 +0000
Bug 1582210. Support splitting blob images into different sizes. r=nical This makes things better especially when the bounds of the combined blob is changing but the bound of the separate ones are not. The current implementation is a bit ugly, but it's simple and can be cleaned up in the cleanups I have in mind for the future. Differential Revision: https://phabricator.services.mozilla.com/D47983
79e9381b90c80d14dad1de04f2f339cef64d7ee2: Bug 1582624 - Add partial present API for webrender. r=nical
Glenn Watson <git@intuitionlibrary.com> - Sun, 06 Oct 2019 20:59:36 +0000 - rev 496457
Push 114143 by rgurzau@mozilla.com at Mon, 07 Oct 2019 09:35:08 +0000
Bug 1582624 - Add partial present API for webrender. r=nical Differential Revision: https://phabricator.services.mozilla.com/D47732
3040cb6328c3648532e92b9151de0a216252192c: Bug 1584375. Remove unused origin from recording. r=nical
Jeff Muizelaar <jrmuizel@gmail.com> - Wed, 02 Oct 2019 21:47:11 +0000 - rev 496110
Push 114141 by rmaries@mozilla.com at Thu, 03 Oct 2019 09:42:28 +0000
Bug 1584375. Remove unused origin from recording. r=nical This was added as part of an intermediate step to blob recoordination. It's not used anymore. Differential Revision: https://phabricator.services.mozilla.com/D47354
3af30f4d00d98bc8d43122dc5c462258c59977d3: Bug 1584378. blob: Remove unused mImageBounds. r=nical
Jeff Muizelaar <jrmuizel@gmail.com> - Wed, 02 Oct 2019 16:43:35 +0000 - rev 496084
Push 114141 by rmaries@mozilla.com at Thu, 03 Oct 2019 09:42:28 +0000
Bug 1584378. blob: Remove unused mImageBounds. r=nical We don't use this for the bounds of the blob anymore. Differential Revision: https://phabricator.services.mozilla.com/D47360
dfa9c9bab74190db7873249a8c79608441135a1d: Bug 1584375. Remove unused origin from recording. r=nical
Jeff Muizelaar <jrmuizel@gmail.com> - Wed, 02 Oct 2019 16:42:24 +0000 - rev 496067
Push 114141 by rmaries@mozilla.com at Thu, 03 Oct 2019 09:42:28 +0000
Bug 1584375. Remove unused origin from recording. r=nical This was added as part of an intermediate step to blob recoordination. It's not used anymore. Differential Revision: https://phabricator.services.mozilla.com/D47354
141b790d98a02c779cdb6b3ea72ad97a7f3fbc76: Bug 1580922. Always adjust the blob visible area. r=nical
Jeff Muizelaar <jmuizelaar@mozilla.com> - Wed, 02 Oct 2019 07:53:18 +0000 - rev 496034
Push 114141 by rmaries@mozilla.com at Thu, 03 Oct 2019 09:42:28 +0000
Bug 1580922. Always adjust the blob visible area. r=nical Now that we're painting based on the visible area we need to make sure that we update the blob when ever the visible area changes. We'll do this by unconditionally setting the visible area. Differential Revision: https://phabricator.services.mozilla.com/D47335
95114b9893afbbbaae7bb945b42b38d5c8ad01f3: Bug 1580922. Partially revert blob recoord fallback changes. r=nical
Jeff Muizelaar <jmuizelaar@mozilla.com> - Tue, 01 Oct 2019 22:23:45 +0000 - rev 495928
Push 114140 by dvarga@mozilla.com at Wed, 02 Oct 2019 18:04:51 +0000
Bug 1580922. Partially revert blob recoord fallback changes. r=nical This moves the origin of fallback blobs back to the top left of their display item bounds. This is what they were before the patches in bug 1568227 and makes more sense because there's not necessarily a reference frame above the fallback frame which means that the coordinates of the display item can change without us wanting to invalidate the interior. Differential Revision: https://phabricator.services.mozilla.com/D47275
9b42bdc4889fe7782df9b2a0aa990ed5e62cb04c: Bug 1584439 - Enable picture caching for scroll bars and UI content. r=nical
Glenn Watson <git@intuitionlibrary.com> - Tue, 01 Oct 2019 08:52:40 +0000 - rev 495909
Push 114140 by dvarga@mozilla.com at Wed, 02 Oct 2019 18:04:51 +0000
Bug 1584439 - Enable picture caching for scroll bars and UI content. r=nical Once this patch lands, all content drawn by WebRender is drawn into a picture cache surface. This will incur some extra GPU memory overhead since there are extra GPU texture buffers. Much of this can be reduced by adding a couple of simple optimizations in future to detect tiles that are solid colors only. With this change, we'll now be able to provide exact dirty rects for the entire screen without any hacks, and start the work to draw into OS compositor surfaces directly. Differential Revision: https://phabricator.services.mozilla.com/D47395
88a32122785ba7f6269a82442a0a46f971313a0e: Bug 1580922. Partially revert blob recoord fallback changes. r=nical
Jeff Muizelaar <jmuizelaar@mozilla.com> - Tue, 01 Oct 2019 12:15:53 +0000 - rev 495812
Push 114140 by dvarga@mozilla.com at Wed, 02 Oct 2019 18:04:51 +0000
Bug 1580922. Partially revert blob recoord fallback changes. r=nical This moves the origin of fallback blobs back to the top left of their display item bounds. This is what they were before the patches in bug 1568227 and makes more sense because there's not necessarily a reference frame above the fallback frame which means that the coordinates of the display item can change without us wanting to invalidate the interior. Differential Revision: https://phabricator.services.mozilla.com/D47275
749b087bd8e0154c5bad72d8964d44dc242ae593: Bug 1577236 - clang-10: Fix -Wimplicit-int-float-conversion warnings in gfx/ r=nical
Sylvestre Ledru <sledru@mozilla.com> - Tue, 01 Oct 2019 13:05:43 +0000 - rev 495791
Push 114140 by dvarga@mozilla.com at Wed, 02 Oct 2019 18:04:51 +0000
Bug 1577236 - clang-10: Fix -Wimplicit-int-float-conversion warnings in gfx/ r=nical The change has been reverted involuntary by bug 1574745 Differential Revision: https://phabricator.services.mozilla.com/D47734
3eba60b905c06bdb6b39367ac941326a8499c5ab: Bug 1584439 - Enable picture caching for scroll bars and UI content. r=nical
Glenn Watson <git@intuitionlibrary.com> - Tue, 01 Oct 2019 04:51:56 +0000 - rev 495774
Push 114140 by dvarga@mozilla.com at Wed, 02 Oct 2019 18:04:51 +0000
Bug 1584439 - Enable picture caching for scroll bars and UI content. r=nical Once this patch lands, all content drawn by WebRender is drawn into a picture cache surface. This will incur some extra GPU memory overhead since there are extra GPU texture buffers. Much of this can be reduced by adding a couple of simple optimizations in future to detect tiles that are solid colors only. With this change, we'll now be able to provide exact dirty rects for the entire screen without any hacks, and start the work to draw into OS compositor surfaces directly. Differential Revision: https://phabricator.services.mozilla.com/D47395
4f126cfd8012ff538ea8e414bfc3cc0c4e852e11: Bug 1584439 - Enable picture caching for scroll bars and UI content. r=nical
Glenn Watson <git@intuitionlibrary.com> - Tue, 01 Oct 2019 01:34:01 +0000 - rev 495772
Push 114140 by dvarga@mozilla.com at Wed, 02 Oct 2019 18:04:51 +0000
Bug 1584439 - Enable picture caching for scroll bars and UI content. r=nical Once this patch lands, all content drawn by WebRender is drawn into a picture cache surface. This will incur some extra GPU memory overhead since there are extra GPU texture buffers. Much of this can be reduced by adding a couple of simple optimizations in future to detect tiles that are solid colors only. With this change, we'll now be able to provide exact dirty rects for the entire screen without any hacks, and start the work to draw into OS compositor surfaces directly. Differential Revision: https://phabricator.services.mozilla.com/D47395
38e1e9c5d8c1eba5abc6bc1f8129d0776fa68e32: Bug 1580922. Partially revert blob recoord fallback changes. r=nical
Jeff Muizelaar <jmuizelaar@mozilla.com> - Mon, 30 Sep 2019 22:10:29 +0000 - rev 495761
Push 114140 by dvarga@mozilla.com at Wed, 02 Oct 2019 18:04:51 +0000
Bug 1580922. Partially revert blob recoord fallback changes. r=nical This moves the origin of fallback blobs back to the top left of their display item bounds. This is what they were before the patches in bug 1568227 and makes more sense because there's not necessarily a reference frame above the fallback frame which means that the coordinates of the display item can change without us wanting to invalidate the interior. Differential Revision: https://phabricator.services.mozilla.com/D47275
ea9e4099e60871845e93b44937fa2852b3b62d8b: Bug 1580922. Partially revert blob recoord fallback changes. r=nical
Jeff Muizelaar <jmuizelaar@mozilla.com> - Mon, 30 Sep 2019 07:39:14 +0000 - rev 495750
Push 114140 by dvarga@mozilla.com at Wed, 02 Oct 2019 18:04:51 +0000
Bug 1580922. Partially revert blob recoord fallback changes. r=nical This moves the origin of fallback blobs back to the top left of their display item bounds. This is what they were before the patches in bug 1568227 and makes more sense because there's not necessarily a reference frame above the fallback frame which means that the coordinates of the display item can change without us wanting to invalidate the interior. Differential Revision: https://phabricator.services.mozilla.com/D47275
df723e7120dc878f3cec9cf8c6eda070ba16d115: Bug 1582645. Only set mLastVisibleRect after we've sent it to WebRender. r=nical
Jeff Muizelaar <jrmuizel@gmail.com> - Mon, 30 Sep 2019 17:48:34 +0000 - rev 495726
Push 114140 by dvarga@mozilla.com at Wed, 02 Oct 2019 18:04:51 +0000
Bug 1582645. Only set mLastVisibleRect after we've sent it to WebRender. r=nical This avoids us setting when we don't send it. e.g. When it's empty. Differential Revision: https://phabricator.services.mozilla.com/D47028
07d58f5db6ff00fa6e0868f70900202e664c328b: Bug 1583432 - Set IDCompositionVisual interporation mode to Linear r=nical
sotaro <sotaro.ikeda.g@gmail.com> - Mon, 30 Sep 2019 09:01:32 +0000 - rev 495626
Push 114140 by dvarga@mozilla.com at Wed, 02 Oct 2019 18:04:51 +0000
Bug 1583432 - Set IDCompositionVisual interporation mode to Linear r=nical Differential Revision: https://phabricator.services.mozilla.com/D46896
43ac974f69dbfeb53f706953646b2ed2af8183ef: Bug 1582645. Only set mLastVisibleRect after we've sent it to WebRender. r=nical
Jeff Muizelaar <jrmuizel@gmail.com> - Thu, 26 Sep 2019 21:08:29 +0000 - rev 495299
Push 114134 by ccoroiu@mozilla.com at Mon, 30 Sep 2019 09:57:15 +0000
Bug 1582645. Only set mLastVisibleRect after we've sent it to WebRender. r=nical This avoids us setting when we don't send it. e.g. When it's empty. Differential Revision: https://phabricator.services.mozilla.com/D47028
fc39374e708f30428d1a18c1c93b5fc089cc782b: Bug 1581757 - Support slicing the scene into an arbitrary number of picture cache slices r=nical,kvark
Glenn Watson <git@intuitionlibrary.com> - Thu, 26 Sep 2019 21:14:36 +0000 - rev 495269
Push 114134 by ccoroiu@mozilla.com at Mon, 30 Sep 2019 09:57:15 +0000
Bug 1581757 - Support slicing the scene into an arbitrary number of picture cache slices r=nical,kvark Previously, the setup_picture_caching function was hard coded to support only a very specific shape of display list. With this change, flags are added to PrimitiveCluster that can specify if a picture cache slice should be created before / after this cluster when picture caching is set up. The usage of these flags in this patch matches the old behaviour, so should not have any functional effect. However, in future we will make use of this functionality to create picture slices for a number of different use cases, such as: * Creating cache tiles for the UI. * Slicing the scene where there are video elements, in order to allow these to be composited directly by the OS. This may also apply to WebGL and/or canvas elements. * Slicing the scene when there is a very large fixed position background image or other element, to avoid invalidating the entire tile cache each frame. Differential Revision: https://phabricator.services.mozilla.com/D46125
4258556e238d0ce7cc97e062da52d9c4a5fe631b: Bug 1583983 - Add threading / locking overview to APZ docs. r=tnikkel,nical
Botond Ballo <botond@mozilla.com> - Thu, 26 Sep 2019 09:48:24 +0000 - rev 495208
Push 114134 by ccoroiu@mozilla.com at Mon, 30 Sep 2019 09:57:15 +0000
Bug 1583983 - Add threading / locking overview to APZ docs. r=tnikkel,nical To avoid duplicating information, the comment about lock ordering in APZCTreeManager.h is also updated to point to the documentation. Differential Revision: https://phabricator.services.mozilla.com/D47146
c12928fd93524e33dddeef9cc9421c1548677255: Bug 1572222 - Revert TooManyPendingFrames() logic r=nical
sotaro <sotaro.ikeda.g@gmail.com> - Thu, 26 Sep 2019 09:29:24 +0000 - rev 495166
Push 114133 by shindli@mozilla.com at Thu, 26 Sep 2019 21:40:49 +0000
Bug 1572222 - Revert TooManyPendingFrames() logic r=nical Before Bug 1570869, new frame was generated if WR does not have a pending frame build task. But since Bug 1570869 fix, there is a case that new frame generation does not happen even when WR does not have a frame build task. Differential Revision: https://phabricator.services.mozilla.com/D47045
1704996ccd377cb098fde0a1520baab1c5bb4152: Bug 1583703 - Fix reset handling in RenderThread::HandleFrameOneDoc() r=nical
sotaro <sotaro.ikeda.g@gmail.com> - Thu, 26 Sep 2019 09:52:04 +0000 - rev 495165
Push 114133 by shindli@mozilla.com at Thu, 26 Sep 2019 21:40:49 +0000
Bug 1583703 - Fix reset handling in RenderThread::HandleFrameOneDoc() r=nical Move DeviceReset handling before the assert. It is OK, since RendererOGL instance is not re-used after the DeviceReset. It is replaced by a new RendererOGL. Differential Revision: https://phabricator.services.mozilla.com/D47036
c2c9dbf826fe7b81bc8535988d2a48570a43c7e3: Bug 1581757 - Support slicing the scene into an arbitrary number of picture cache slices r=nical,kvark
Glenn Watson <git@intuitionlibrary.com> - Wed, 25 Sep 2019 20:38:42 +0000 - rev 495041
Push 114131 by dluca@mozilla.com at Thu, 26 Sep 2019 09:47:34 +0000
Bug 1581757 - Support slicing the scene into an arbitrary number of picture cache slices r=nical,kvark Previously, the setup_picture_caching function was hard coded to support only a very specific shape of display list. With this change, flags are added to PrimitiveCluster that can specify if a picture cache slice should be created before / after this cluster when picture caching is set up. The usage of these flags in this patch matches the old behaviour, so should not have any functional effect. However, in future we will make use of this functionality to create picture slices for a number of different use cases, such as: * Creating cache tiles for the UI. * Slicing the scene where there are video elements, in order to allow these to be composited directly by the OS. This may also apply to WebGL and/or canvas elements. * Slicing the scene when there is a very large fixed position background image or other element, to avoid invalidating the entire tile cache each frame. Differential Revision: https://phabricator.services.mozilla.com/D46125