searching for reviewer(sotaro)
d425dd5dee9504e22b8dee70f1e935a98e5ef07c: Bug 1652181 - Only call UpdateBias when the frame changes. r=sotaro
Jeff Muizelaar <jmuizelaar@mozilla.com> - Sat, 11 Jul 2020 00:17:31 +0000 - rev 604410
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1652181 - Only call UpdateBias when the frame changes. r=sotaro Previously we were calling it at 60fps for 30fps video. This meant that any bias would be cancelled out on the vsyncs where we didn't present anything. This also makes us match the non-WebRender path which only calls UpdateBias after a frame has actually been drawn. Differential Revision: https://phabricator.services.mozilla.com/D83211
1ff743b3d002fb839e3533abbbb612f10fffec8b: Bug 1650728 - Don't synchronously dispatch a task to create a TextureClientRecycleAllocator. r=sotaro
Jean-Yves Avenard <jyavenard@mozilla.com> - Sat, 11 Jul 2020 01:57:06 +0000 - rev 604408
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1650728 - Don't synchronously dispatch a task to create a TextureClientRecycleAllocator. r=sotaro Additionally, we make access to mTextureClientRecycler, mHandle and mIsAsync thread-safe as they are accessed and set from different threads Differential Revision: https://phabricator.services.mozilla.com/D82339
8cf433954cb59bb13bd4af87ea411d50c6910987: Bug 1536515 - Part 3: Add RenderExternalTextureHost r=sotaro
Miko Mynttinen <mikokm@gmail.com> - Tue, 07 Jul 2020 17:57:22 +0000 - rev 603549
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1536515 - Part 3: Add RenderExternalTextureHost r=sotaro Differential Revision: https://phabricator.services.mozilla.com/D80506
4f044c37af6f57e15d364baf95c8a582c1d4b281: Bug 1650113 [Linux] Use DMABufTextures only when Wayland support is build, r=sotaro
Martin Stransky <stransky@redhat.com> - Fri, 03 Jul 2020 12:59:53 +0000 - rev 603105
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1650113 [Linux] Use DMABufTextures only when Wayland support is build, r=sotaro Differential Revision: https://phabricator.services.mozilla.com/D82177
302e247cab125b7b26490d77e6cc431f11f5d09b: Bug 1649120 [Linux] Rename Wayland/DMABuf in gfx code, r=sotaro
Martin Stransky <stransky@redhat.com> - Wed, 01 Jul 2020 11:22:42 +0000 - rev 602568
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1649120 [Linux] Rename Wayland/DMABuf in gfx code, r=sotaro We change DMABuf config keys from Wayland specific to universal ones as they can be used in both X11 and Wayland backends. Depends on D81515 Differential Revision: https://phabricator.services.mozilla.com/D81516
e5eaac613b346c404e5724e0567c21f95b7d222f: Bug 1652181 - Only call UpdateBias when the frame changes. r=sotaro, a=RyanVM
Jeff Muizelaar <jmuizelaar@mozilla.com> - Sat, 11 Jul 2020 00:17:31 +0000 - rev 602053
Push 13407 by ryanvm@gmail.com at Mon, 13 Jul 2020 18:13:17 +0000
Bug 1652181 - Only call UpdateBias when the frame changes. r=sotaro, a=RyanVM Previously we were calling it at 60fps for 30fps video. This meant that any bias would be cancelled out on the vsyncs where we didn't present anything. This also makes us match the non-WebRender path which only calls UpdateBias after a frame has actually been drawn. Differential Revision: https://phabricator.services.mozilla.com/D83211
b13d07d81358d6fa1dd00fe9a156e5143523056c: Bug 1622660 - Removed else after return r=sotaro
Danny <danny@erebus.cymru> - Tue, 23 Jun 2020 10:47:05 +0000 - rev 600857
Push 13310 by ffxbld-merge at Mon, 29 Jun 2020 14:50:06 +0000
Bug 1622660 - Removed else after return r=sotaro Differential Revision: https://phabricator.services.mozilla.com/D80471
b57b2912400cd8f9c971fe642f4e662a059a32bf: Bug 1645704 [Wayland] Rename WaylandDMABufSurface to DMABufSurface at gxf, r=sotaro
Martin Stransky <stransky@redhat.com> - Sun, 21 Jun 2020 13:59:17 +0000 - rev 600577
Push 13310 by ffxbld-merge at Mon, 29 Jun 2020 14:50:06 +0000
Bug 1645704 [Wayland] Rename WaylandDMABufSurface to DMABufSurface at gxf, r=sotaro Differential Revision: https://phabricator.services.mozilla.com/D79637
5222e4d5c6dda3100aa5990937037e3df867d9ef: Bug 1644732 - Don't call NotifyNotUsed() from ~RenderAndroidSurfaceTextureHostOGL(). r=sotaro
Jamie Nicol <jnicol@mozilla.com> - Thu, 11 Jun 2020 05:27:09 +0000 - rev 599107
Push 13310 by ffxbld-merge at Mon, 29 Jun 2020 14:50:06 +0000
Bug 1644732 - Don't call NotifyNotUsed() from ~RenderAndroidSurfaceTextureHostOGL(). r=sotaro Doing so means it is called twice, which causes an assertion failure. Differential Revision: https://phabricator.services.mozilla.com/D79127
15beac7ebecb37147f5b8a64ede7dd83945ec029: Bug 1644678 - Don't set DEALLOCATE_CLIENT flag for SharedSurface_SurfaceTextures. r=sotaro
Jamie Nicol <jnicol@mozilla.com> - Wed, 10 Jun 2020 14:03:55 +0000 - rev 598961
Push 13310 by ffxbld-merge at Mon, 29 Jun 2020 14:50:06 +0000
Bug 1644678 - Don't set DEALLOCATE_CLIENT flag for SharedSurface_SurfaceTextures. r=sotaro The flag is not required for SharedSurface_SurfaceTexture, as GeckoSurfaceTexture is reference counted. When the GeckoSurface is disposed on the client side it simply decrements the refcount of the GeckoSurfaceTexture on the host side, which will remain alive until the TextureHost's reference is also dropped. Differential Revision: https://phabricator.services.mozilla.com/D79073
3212a1536cbd813777784de35c60e7731404ccc8: Bug 1640496 - Fix incorrect FBO state caching when updating external textures. r=sotaro
Glenn Watson <git@intuitionlibrary.com> - Tue, 09 Jun 2020 06:12:23 +0000 - rev 598668
Push 13310 by ffxbld-merge at Mon, 29 Jun 2020 14:50:06 +0000
Bug 1640496 - Fix incorrect FBO state caching when updating external textures. r=sotaro The `reset_state` method being called after locking external textures was resetting the cached state, but not actually forcing the GL state to match. This could result in cached state getting out of sync with GL. In this case, we'd end up trying to composite to the external texture FBO rather than the main framebuffer. Differential Revision: https://phabricator.services.mozilla.com/D78851
da332ce74d2ed0927c77b50d48724a82f54e4ae5: Bug 1643634. Let the WS_EX_LAYERED | WS_EX_TRANSPARENT flags on the compositor window ride the trains. r=sotaro
Timothy Nikkel <tnikkel@gmail.com> - Fri, 05 Jun 2020 09:43:30 +0000 - rev 598356
Push 13310 by ffxbld-merge at Mon, 29 Jun 2020 14:50:06 +0000
Bug 1643634. Let the WS_EX_LAYERED | WS_EX_TRANSPARENT flags on the compositor window ride the trains. r=sotaro Now that bug 1632357 is fixed there is no known regression from using those flags. So let's get wider exposure to them even though direct manipulation isn't yet enabled by default. Differential Revision: https://phabricator.services.mozilla.com/D78474
8330f82f6e1fec8537041886adc679536576f621: Bug 1640496 - Fix incorrect FBO state caching when updating external textures. r=sotaro, a=jcristau
Glenn Watson <git@intuitionlibrary.com> - Tue, 09 Jun 2020 06:12:23 +0000 - rev 597120
Push 13274 by jcristau@mozilla.com at Fri, 12 Jun 2020 17:45:29 +0000
Bug 1640496 - Fix incorrect FBO state caching when updating external textures. r=sotaro, a=jcristau The `reset_state` method being called after locking external textures was resetting the cached state, but not actually forcing the GL state to match. This could result in cached state getting out of sync with GL. In this case, we'd end up trying to composite to the external texture FBO rather than the main framebuffer. Differential Revision: https://phabricator.services.mozilla.com/D78851
5c5cdf8961e633f8217cf27a8b92a920f92996e5: Bug 1619882 [Wayland] Use WaylandDMABufSurface global lock instead of VAAPIFrameHolder at WaylandDMABUFSurfaceImage, r=sotaro
Martin Stransky <stransky@redhat.com> - Fri, 29 May 2020 15:22:07 +0000 - rev 596758
Push 13186 by ffxbld-merge at Mon, 01 Jun 2020 09:52:46 +0000
Bug 1619882 [Wayland] Use WaylandDMABufSurface global lock instead of VAAPIFrameHolder at WaylandDMABUFSurfaceImage, r=sotaro VAAPIFrameHolder was moved to FFmpegVideoDecoder class and we use WaylandDMABufSurface global lock to keep surface reference until it's used. Differential Revision: https://phabricator.services.mozilla.com/D76691
f9f4bdf52d9b437a8a95484dd2563c4b45baabfd: Bug 1640009 - Hold a reference to VRManager singleton for the duration of the parent shutdown. r=sotaro
Jean-Yves Avenard <jyavenard@mozilla.com> - Thu, 28 May 2020 07:32:57 +0000 - rev 596503
Push 13186 by ffxbld-merge at Mon, 01 Jun 2020 09:52:46 +0000
Bug 1640009 - Hold a reference to VRManager singleton for the duration of the parent shutdown. r=sotaro Differential Revision: https://phabricator.services.mozilla.com/D77205
837b1bff6998a5a34978777dac555a642fd203bd: Bug 1632443 - Fix pinch-zoom rendering when partial present is enabled. r=sotaro
Glenn Watson <git@intuitionlibrary.com> - Wed, 20 May 2020 05:33:06 +0000 - rev 594706
Push 13186 by ffxbld-merge at Mon, 01 Jun 2020 09:52:46 +0000
Bug 1632443 - Fix pinch-zoom rendering when partial present is enabled. r=sotaro WR currently disables picture caching during a pinch-zoom, if the native compositor is disabled (since there's no real performance gain to be had from caching tiles during a pinch-zoom). However, this code path was not returning a dirty rect to the caller code. For callers that take advantage of partial present, this meant the screen was assumed to have no changes, and so the swapbuffers is skipped incorrectly. Differential Revision: https://phabricator.services.mozilla.com/D76081
ae83a793e7c98d249e35645e9d7e95013bb5c279: Bug 1633432 - Don't detach SurfaceTextures from GL context on Pause(). r=sotaro,geckoview-reviewers,snorp,imanol
Jamie Nicol <jnicol@mozilla.com> - Fri, 15 May 2020 12:05:15 +0000 - rev 594011
Push 13186 by ffxbld-merge at Mon, 01 Jun 2020 09:52:46 +0000
Bug 1633432 - Don't detach SurfaceTextures from GL context on Pause(). r=sotaro,geckoview-reviewers,snorp,imanol In bug 1470348 we started to detach all SurfaceTextures from the current GL context in CompositorOGL::Pause(). This was required for VR, so that when the VR presentation was entered the SurfaceTextures could be attached to the VR context instead. When RenderCompositorEGL was implemented for webrender, we copied the call to detach from CompositorOGL. However, due to extra complexity in webrender's threading model, this is causing assertion failures. VR no longer relies upon the SurfaceTextures being detached when the compositor is paused, as it now uses its own SurfaceTexture set. Therefore we can remove the detach call from both CompositorOGL::Pause and RenderCompositorEGL::Pause. Differential Revision: https://phabricator.services.mozilla.com/D74832
c67a5c3491dfcfdc11dcfd644c26a8d7da67b2c4: Bug 1638010 [Wayland] Make WaylandDMABUFTextureData::BorrowDrawTarget() fail when underlying dmabuf surface is not locked, r=sotaro
Martin Stransky <stransky@redhat.com> - Fri, 15 May 2020 07:52:39 +0000 - rev 593986
Push 13186 by ffxbld-merge at Mon, 01 Jun 2020 09:52:46 +0000
Bug 1638010 [Wayland] Make WaylandDMABUFTextureData::BorrowDrawTarget() fail when underlying dmabuf surface is not locked, r=sotaro Differential Revision: https://phabricator.services.mozilla.com/D75329
3e58ffac4bb8cfab0a2c5175872e227afd9e0a97: Bug 1635243. Only use WS_EX_LAYERED | WS_EX_TRANSPARENT on the compositor window on nightly for now. r=sotaro
Timothy Nikkel <tnikkel@gmail.com> - Tue, 05 May 2020 01:39:57 +0000 - rev 591753
Push 13186 by ffxbld-merge at Mon, 01 Jun 2020 09:52:46 +0000
Bug 1635243. Only use WS_EX_LAYERED | WS_EX_TRANSPARENT on the compositor window on nightly for now. r=sotaro We haven't shipped direct manipulation yet so we don't need these and they still cause blank windows for a very small number of users. Differential Revision: https://phabricator.services.mozilla.com/D73749
b6e80ba0f44ea07d61fb3e2730a1ddee31ad229f: Bug 1635243. Only use WS_EX_LAYERED | WS_EX_TRANSPARENT on the compositor window on nightly for now. r=sotaro a=pascalc
Timothy Nikkel <tnikkel@gmail.com> - Tue, 05 May 2020 01:39:57 +0000 - rev 591358
Push 13087 by archaeopteryx@coole-files.de at Tue, 05 May 2020 17:41:19 +0000
Bug 1635243. Only use WS_EX_LAYERED | WS_EX_TRANSPARENT on the compositor window on nightly for now. r=sotaro a=pascalc We haven't shipped direct manipulation yet so we don't need these and they still cause blank windows for a very small number of users. Differential Revision: https://phabricator.services.mozilla.com/D73749
0d733ac48cab65b43776ea0da957b861f8eb34ba: Bug 1633343. Also use the style WS_EX_TRANSPARENT on the compositor window. r=sotaro
Timothy Nikkel <tnikkel@gmail.com> - Mon, 27 Apr 2020 13:27:07 +0000 - rev 589822
Push 13072 by ffxbld-merge at Mon, 04 May 2020 14:22:08 +0000
Bug 1633343. Also use the style WS_EX_TRANSPARENT on the compositor window. r=sotaro The original workaround given by Microsoft was both WS_EX_TRANSPARENT and WS_EX_LAYERED. In bug 1627505 we tried to just add WS_EX_LAYERED because it was all that was needed to fix that bug and we hoped it wouldn't re-introduce the blank window problem. But it did. So we may as well go with both flags as recommended by Microsoft. Differential Revision: https://phabricator.services.mozilla.com/D72598
3cbc071d09c7adf6433eefb8d6596561fcdc6681: Bug 1632357. Add a pref to disable adding the WS_EX_LAYERED style to the compositor window. r=sotaro
Timothy Nikkel <tnikkel@gmail.com> - Fri, 24 Apr 2020 08:58:16 +0000 - rev 589333
Push 13072 by ffxbld-merge at Mon, 04 May 2020 14:22:08 +0000
Bug 1632357. Add a pref to disable adding the WS_EX_LAYERED style to the compositor window. r=sotaro On older machines it creates a blank window and we only need the pref to direct manipulation (which hasn't landed yet and will be preffed off by default when it lands). Differential Revision: https://phabricator.services.mozilla.com/D72283
428d3ada2cb2f7d65e30d5c51f4c8633fdd6d38a: Bug 1632357. Add a pref to disable adding the WS_EX_LAYERED style to the compositor window. r=sotaro
Timothy Nikkel <tnikkel@gmail.com> - Fri, 24 Apr 2020 07:38:09 +0000 - rev 589325
Push 13072 by ffxbld-merge at Mon, 04 May 2020 14:22:08 +0000
Bug 1632357. Add a pref to disable adding the WS_EX_LAYERED style to the compositor window. r=sotaro On older machines it creates a blank window and we only need the pref to direct manipulation (which hasn't landed yet and will be preffed off by default when it lands). Differential Revision: https://phabricator.services.mozilla.com/D72283
20aad8c2fc424a4ef056386d3c54e18ca0c741d7: Bug 1631312. Move the check for UseWebRenderDCompWin(). r=sotaro
Jeff Muizelaar <jmuizelaar@mozilla.com> - Mon, 20 Apr 2020 06:11:52 +0000 - rev 588280
Push 13072 by ffxbld-merge at Mon, 04 May 2020 14:22:08 +0000
Bug 1631312. Move the check for UseWebRenderDCompWin(). r=sotaro Bug 1630629 moved the check UseWebRenderDCompWin before it had been initialized. This moves it below so that DirectComposition isn't disabled everywhere. Differential Revision: https://phabricator.services.mozilla.com/D71498
73632227ba00df584e8f6fcc1191e6dfa13fc5fd: Bug 1628901 - Fix panic caused by calling BeginDraw with empty dirty rect. r=sotaro
Glenn Watson <gw@intuitionlibrary.com> - Mon, 13 Apr 2020 00:37:19 +0000 - rev 587028
Push 13072 by ffxbld-merge at Mon, 04 May 2020 14:22:08 +0000
Bug 1628901 - Fix panic caused by calling BeginDraw with empty dirty rect. r=sotaro Previously, it was possible for a tile that had a valid scroll root to have an empty valid (and dirty) rect due to the picture cache clip rect, in some situations. This could result in the tile not being tagged as off-screen, which means it is added to the queue of tiles to be updated. On most platforms this is benign, but the BeginDraw method of DirectComposition fails if the dirty rect is empty. This patch fixes the logic so that tiles that meet these conditions are correctly tagged as not visible, and skipped from update queue. Differential Revision: https://phabricator.services.mozilla.com/D70616
707b309fb85e305b0dd42cc6701b02aaa3de3273: Bug 1627505. Use WS_EX_LAYERED on the compositor window to prevent Direct Manipulation from finding it. r=sotaro
Timothy Nikkel <tnikkel@gmail.com> - Mon, 06 Apr 2020 18:25:28 +0000 - rev 586011
Push 13072 by ffxbld-merge at Mon, 04 May 2020 14:22:08 +0000
Bug 1627505. Use WS_EX_LAYERED on the compositor window to prevent Direct Manipulation from finding it. r=sotaro Differential Revision: https://phabricator.services.mozilla.com/D69765
2a815d6be90da35d285df65a6fc0f2369942f984: Bug 1614212 - Migrate global VsyncSource users correctly on frame rate change r=sotaro
Kenny Levinsen <kl@kl.wtf> - Mon, 16 Mar 2020 23:24:39 +0000 - rev 582310
Push 12945 by ffxbld-merge at Mon, 06 Apr 2020 13:49:11 +0000
Bug 1614212 - Migrate global VsyncSource users correctly on frame rate change r=sotaro CompositorVsyncDispatcher holds a reference to the VsyncSource, so it must be informed on change. Differential Revision: https://phabricator.services.mozilla.com/D65878
ef75f461147c5148755e505ed8b8c2d9ca20f856: Bug 1614212 - Migrate global VsyncSource users correctly on frame rate change r=sotaro
Kenny Levinsen <kl@kl.wtf> - Mon, 16 Mar 2020 00:05:20 +0000 - rev 582125
Push 12945 by ffxbld-merge at Mon, 06 Apr 2020 13:49:11 +0000
Bug 1614212 - Migrate global VsyncSource users correctly on frame rate change r=sotaro CompositorVsyncDispatcher holds a reference to the VsyncSource, so it must be informed on change. Differential Revision: https://phabricator.services.mozilla.com/D65878
8bc3cd786136a500f098c6f2604286696c796bb7: Bug 1614212 - Migrate global VsyncSource users correctly on frame rate change r=sotaro
Kenny Levinsen <kl@kl.wtf> - Fri, 13 Mar 2020 16:04:36 +0000 - rev 581820
Push 12945 by ffxbld-merge at Mon, 06 Apr 2020 13:49:11 +0000
Bug 1614212 - Migrate global VsyncSource users correctly on frame rate change r=sotaro CompositorVsyncDispatcher holds a reference to the VsyncSource, so it must be informed on change. Differential Revision: https://phabricator.services.mozilla.com/D65878
2a28c94f3db2355dd50815d70f2ad6966839326c: Bug 1620147 - Fix virtual surface coords being outside bounds. r=Bert,sotaro
Glenn Watson <gw@intuitionlibrary.com> - Tue, 10 Mar 2020 02:17:35 +0000 - rev 580969
Push 12945 by ffxbld-merge at Mon, 06 Apr 2020 13:49:11 +0000
Bug 1620147 - Fix virtual surface coords being outside bounds. r=Bert,sotaro This adds support for tracking and invalidating tiles based on a movable virtual offset. Differential Revision: https://phabricator.services.mozilla.com/D65687
69022e2986df1d8913af695001cc11e935b09112: Bug 1620147 - Fix virtual surface coords being outside bounds. r=Bert,sotaro a=jcristau
Glenn Watson <gw@intuitionlibrary.com> - Tue, 10 Mar 2020 02:17:35 +0000 - rev 580484
Push 12833 by malexandru@mozilla.com at Wed, 11 Mar 2020 21:17:57 +0000
Bug 1620147 - Fix virtual surface coords being outside bounds. r=Bert,sotaro a=jcristau This adds support for tracking and invalidating tiles based on a movable virtual offset. Differential Revision: https://phabricator.services.mozilla.com/D65687
c3a689bf10e1dd2b1dc04fe0494584561bd8421b: Bug 1579235 - Part 12 - Support native compositor surfaces. r=Bert,sotaro
Glenn Watson <gw@intuitionlibrary.com> - Thu, 05 Mar 2020 20:45:17 +0000 - rev 580083
Push 12808 by ffxbld-merge at Mon, 09 Mar 2020 15:29:44 +0000
Bug 1579235 - Part 12 - Support native compositor surfaces. r=Bert,sotaro This patch adds support for external compositor surfaces when using native compositor mode. Differential Revision: https://phabricator.services.mozilla.com/D65436
4bbb79cbf9cc9efc7d599d1fe8d68bf620601fc9: Bug 1579235 - Part 11 - Refactor how external surfaces are composited. r=Bert,sotaro
Glenn Watson <gw@intuitionlibrary.com> - Thu, 05 Mar 2020 20:45:15 +0000 - rev 580080
Push 12808 by ffxbld-merge at Mon, 09 Mar 2020 15:29:44 +0000
Bug 1579235 - Part 11 - Refactor how external surfaces are composited. r=Bert,sotaro This patch refactors how external surfaces are stored in the CompositeState structure. This is primarily to simplify integration with native compositor mode, but also simplifies the Draw compositor path. Previously, the ResolvedExternalSurface struct contained information that was used to rasterize the external surface (YUV planes etc) and also the information to composite it (device rect, clip rect, z_id). Now, ResolvedExternalSurface contains just the information required to rasterize the external surface, while the compositing information is handled by adding the external surface as a regular tile. This makes it possible to unify how external surfaces are drawn, via the common draw_tile_list method. Differential Revision: https://phabricator.services.mozilla.com/D65269
83c66ad3ea490076218308d346d50af80c1c2571: Bug 1617553 [Wayland] Use GL texture format instead of surface one for GL texture source, r=sotaro
Martin Stransky <stransky@redhat.com> - Mon, 24 Feb 2020 12:12:33 +0000 - rev 578228
Push 12808 by ffxbld-merge at Mon, 09 Mar 2020 15:29:44 +0000
Bug 1617553 [Wayland] Use GL texture format instead of surface one for GL texture source, r=sotaro Differential Revision: https://phabricator.services.mozilla.com/D63836
15ec792467141ac5561b87bddb80b38023a7d607: Bug 1616892 [Wayland] Use VAAPIFrameHolder at release callback, r=sotaro
Martin Stransky <stransky@redhat.com> - Fri, 21 Feb 2020 10:59:17 +0000 - rev 577945
Push 12808 by ffxbld-merge at Mon, 09 Mar 2020 15:29:44 +0000
Bug 1616892 [Wayland] Use VAAPIFrameHolder at release callback, r=sotaro FFmpeg decoder needs to keep reference to more strucures for each frame so Bug 1616185 implements a VAAPIFrameHolder strucure and keeps the reference there. Let's use that also in WaylandDMABUFSurfaceImage. Differential Revision: https://phabricator.services.mozilla.com/D63513
4941724be9c2fd94c1e5df36ed90e42acc33f15f: Bug 1616590 [Wayland] Fix GL compositor to composite correctly NV12 textures generated by ffmpeg, r=sotaro
Martin Stransky <stransky@redhat.com> - Thu, 20 Feb 2020 14:08:25 +0000 - rev 577706
Push 12808 by ffxbld-merge at Mon, 09 Mar 2020 15:29:44 +0000
Bug 1616590 [Wayland] Fix GL compositor to composite correctly NV12 textures generated by ffmpeg, r=sotaro - Enable GL_TEXTURE_RECTANGLE_ARB only when the extension is supported - Switch Green and Alpha colors in NV12 shader when compositing on Wayland. Is's because vaExportSurfaceHandle() exports UV plane in DRM_FORMAT_GR88 format so we have to use R and G channels and not R and A as we have now. Differential Revision: https://phabricator.services.mozilla.com/D63349
e4383c8d1123da7eabe9c42042839cfc9eb2820d: Bug 1613364 [Wayland] Update gfx code to derived WaylandDMABufSurfaceRGBA class, r=sotaro
Martin Stransky <stransky@redhat.com> - Wed, 12 Feb 2020 22:35:02 +0000 - rev 576594
Push 12808 by ffxbld-merge at Mon, 09 Mar 2020 15:29:44 +0000
Bug 1613364 [Wayland] Update gfx code to derived WaylandDMABufSurfaceRGBA class, r=sotaro WaylandDMABufSurface/WaylandDMABufSurfaceRGBA uses textures interface instead of EGLImages so we need to update gfx code accordingly: - rename CreateEGLImage() -> CreateTexture() - rename ReleaseEGLImage() -> ReleaseTextures() - rename GetGLTexture() -> GetTexture() - rename WaylandDMABufSurface::CreateDMABufSurface() to WaylandDMABufSurfaceRGBA::CreateDMABufSurface() Differential Revision: https://phabricator.services.mozilla.com/D62005
cdab069b9ed9530c5bf018288dcf6ff69c175aa4: Bug 1613364 [Wayland] Update WaylandDMABUFTextureHostOGL and WaylandDMABUFTextureClientOGL to work with NV12 format, r=sotaro
Martin Stransky <stransky@redhat.com> - Wed, 12 Feb 2020 22:34:59 +0000 - rev 576593
Push 12808 by ffxbld-merge at Mon, 09 Mar 2020 15:29:44 +0000
Bug 1613364 [Wayland] Update WaylandDMABUFTextureHostOGL and WaylandDMABUFTextureClientOGL to work with NV12 format, r=sotaro - Update WaylandDMABUFTextureClientOGL to work with WaylandDMABufSurfaceRGBA which is used for GL/WebRender compositor with dmabuf texture backend. - Update WaylandDMABUFTextureHostOGL to work with both RGBA and NV12 surface formats. - Use GLTextureSource instead of EGLImageTextureSource as we need to store more than one texture there with NV12 and pass the textures there by CreateTextureSourceForPlane(). - Implement NV12 related function by WaylandDMABUFTextureHostOGL (color space, color range, sub-textures num). - Add NV12 implementation to PushResourceUpdates()/PushDisplayItems() for WebRender. Differential Revision: https://phabricator.services.mozilla.com/D62004
66cc62933540a2071ca024894ead927cd137c836: Bug 1613364 [Wayland] Update RenderWaylandDMABUFTextureHostOGL to work with NV12 texture format, r=sotaro
Martin Stransky <stransky@redhat.com> - Wed, 12 Feb 2020 22:34:42 +0000 - rev 576592
Push 12808 by ffxbld-merge at Mon, 09 Mar 2020 15:29:44 +0000
Bug 1613364 [Wayland] Update RenderWaylandDMABUFTextureHostOGL to work with NV12 texture format, r=sotaro Differential Revision: https://phabricator.services.mozilla.com/D62003
640f0fc81c1f3f485b9b4748946611038eeb1e52: Bug 1613364 [Wayland] Update SurfaceDescriptorDMABuf to export YUV surfaces, r=sotaro
Martin Stransky <stransky@redhat.com> - Wed, 12 Feb 2020 22:34:20 +0000 - rev 576589
Push 12808 by ffxbld-merge at Mon, 09 Mar 2020 15:29:44 +0000
Bug 1613364 [Wayland] Update SurfaceDescriptorDMABuf to export YUV surfaces, r=sotaro We need to export more planes in SurfaceDescriptorDMABuf and also YUV color space. Differential Revision: https://phabricator.services.mozilla.com/D62000
174d5be06caa95bdc01153cdd8cff5152f406b6f: Bug 1608717 - Support per-tile clip (valid) region for native compositor implementations. r=sotaro,mstange
Glenn Watson <gw@intuitionlibrary.com> - Wed, 12 Feb 2020 04:27:15 +0000 - rev 576438
Push 12808 by ffxbld-merge at Mon, 09 Mar 2020 15:29:44 +0000
Bug 1608717 - Support per-tile clip (valid) region for native compositor implementations. r=sotaro,mstange For Draw (non-native) and CA modes, we include the per-tile valid rect in the clip rect from the surface. For DC (non-virtual) mode, a per-tile clip rect is set on the visual for each tile, separate from the overall clip rect that is set on the surface visual. For DC (virtual) mode, the Trim API is used to remove pixels in the virtual tile area that are outside the valid / clipped region. Note: Although the valid rect is now applied in the native compositors, it's currently only based on the overall picture cache bounding rect. Thus, with this patch there isn't any noticeable performance improvement. Once this lands and is working correctly, the follow up patch to calculate a smaller valid region per-tile is a small amount of work. Differential Revision: https://phabricator.services.mozilla.com/D61424
be311b1bf072a0dd59fed4df979aafa506f73be6: Bug 1613358 [Wayland] Implement WaylandDMABUFSurfaceImage dmabuf image, r=sotaro
Martin Stransky <stransky@redhat.com> - Thu, 06 Feb 2020 15:15:02 +0000 - rev 575271
Push 12662 by ffxbld-merge at Mon, 10 Feb 2020 10:43:10 +0000
Bug 1613358 [Wayland] Implement WaylandDMABUFSurfaceImage dmabuf image, r=sotaro Implement WaylandDMABUFSurfaceImage which is backed by dma buf memory on Wayland and it holds decoded video images produced by ffmpeg va-api decoder. Differential Revision: https://phabricator.services.mozilla.com/D61678
6381c1f2aedca240ebbeb8feafb96f5b5977afce: Bug 1613358 [Wayland] Implement WaylandDMABUFSurfaceImage dmabuf image, r=sotaro
Martin Stransky <stransky@redhat.com> - Thu, 06 Feb 2020 12:10:57 +0000 - rev 575232
Push 12662 by ffxbld-merge at Mon, 10 Feb 2020 10:43:10 +0000
Bug 1613358 [Wayland] Implement WaylandDMABUFSurfaceImage dmabuf image, r=sotaro Implement WaylandDMABUFSurfaceImage which is backed by dma buf memory on Wayland and it holds decoded video images produced by ffmpeg va-api decoder. Differential Revision: https://phabricator.services.mozilla.com/D61678
032306d9ce87feb57f73bfebfcf29cf0e5a29e04: Bug 1613052 [Wayland] Don't release textures at WaylandDMABUFTextureHostOGL as they're owned by texture source, r=sotaro
Martin Stransky <stransky@redhat.com> - Wed, 05 Feb 2020 08:31:08 +0000 - rev 575047
Push 12662 by ffxbld-merge at Mon, 10 Feb 2020 10:43:10 +0000
Bug 1613052 [Wayland] Don't release textures at WaylandDMABUFTextureHostOGL as they're owned by texture source, r=sotaro Depends on D61547 Differential Revision: https://phabricator.services.mozilla.com/D61548
a4c9db030d03e0f0b7e98a2f29a276747b48df6b: Bug 1613052 [Wayland] Use texture handle from WaylandDMABUFSurface directly at WebRender, r=sotaro
Martin Stransky <stransky@redhat.com> - Wed, 05 Feb 2020 08:31:01 +0000 - rev 575046
Push 12662 by ffxbld-merge at Mon, 10 Feb 2020 10:43:10 +0000
Bug 1613052 [Wayland] Use texture handle from WaylandDMABUFSurface directly at WebRender, r=sotaro Depends on D61546 Differential Revision: https://phabricator.services.mozilla.com/D61547
2546c38ebbc4f41611e13898675a7178de491321: Bug 1611357 - Update fuzziness for grid-track-intrinsic-sizing-002.html r=sotaro
Glenn Watson <gw@intuitionlibrary.com> - Fri, 24 Jan 2020 03:21:23 +0000 - rev 574107
Push 12662 by ffxbld-merge at Mon, 10 Feb 2020 10:43:10 +0000
Bug 1611357 - Update fuzziness for grid-track-intrinsic-sizing-002.html r=sotaro This test also has the same dashed border and occasional fuzziness that grid-track-intrinsic-sizing-003.html does with DC enabled. Differential Revision: https://phabricator.services.mozilla.com/D60947
b09849127a4f53a858ae0bfcba1343e5bd41458f: Bug 1608235 - [ANGLE] Validate `context` before use. r=sotaro
Jeff Gilbert <jgilbert@mozilla.com> - Thu, 23 Jan 2020 02:59:17 +0000 - rev 573795
Push 12662 by ffxbld-merge at Mon, 10 Feb 2020 10:43:10 +0000
Bug 1608235 - [ANGLE] Validate `context` before use. r=sotaro Differential Revision: https://phabricator.services.mozilla.com/D60790
71ed65a465d2bcfcf8e02ab8779c6700754ccdb2: Bug 1610738 - Add primitive flag to specify a compositor surface is preferred r=sotaro
Glenn Watson <gw@intuitionlibrary.com> - Wed, 22 Jan 2020 08:31:19 +0000 - rev 573714
Push 12662 by ffxbld-merge at Mon, 10 Feb 2020 10:43:10 +0000
Bug 1610738 - Add primitive flag to specify a compositor surface is preferred r=sotaro This allows calling code to specify whether a primitive would prefer to be promoted to a compositor surface and/or picture cache slice. This is a performance hint that can be used for large external primitives, such as videos and canvas elements. Differential Revision: https://phabricator.services.mozilla.com/D60637
f758f235dd70f1060dba771ccfd3cb91a9aaef20: Bug 1608741 - Part 2 - Disable dithering on gradient primitives. r=sotaro,nical
Glenn Watson <gw@intuitionlibrary.com> - Wed, 22 Jan 2020 01:24:14 +0000 - rev 573572
Push 12662 by ffxbld-merge at Mon, 10 Feb 2020 10:43:10 +0000
Bug 1608741 - Part 2 - Disable dithering on gradient primitives. r=sotaro,nical There are a number of issues with the current gradient dithering implementation, that cause many test failures and also fuzziness rendering when enabling DirectComposition virtual surfaces. In particular, the dither result is dependent on the offset of the update rect within a render target. For now, this patch disables gradient dithering by default. This gives us: - A heap of new test PASS results (or reduced fuzziness). - Fixes a number of non-deterministic fuzziness bugs with DC. - Improves performance of gradient rendering by a reasonable amount. We can fix gradient dithering as a follow up, and re-enable if/when we find content that would benefit from it significantly (we may be able to improve gradients in other ways than dithering too). Differential Revision: https://phabricator.services.mozilla.com/D60460
994fc08c7acdeacbee0e567c98a810c19c655bb0: Bug 1608741 - Part 1 - Use nearest neighbor interpolation for DC surfaces. r=sotaro
Glenn Watson <gw@intuitionlibrary.com> - Mon, 20 Jan 2020 09:51:20 +0000 - rev 573350
Push 12662 by ffxbld-merge at Mon, 10 Feb 2020 10:43:10 +0000
Bug 1608741 - Part 1 - Use nearest neighbor interpolation for DC surfaces. r=sotaro There's no need for bilinear interpolation of DC surfaces. This fixes a lot of the fuzziness issues when using virtual surfaces, so it makes sense to land it now while continuing to investigate the remaining issues. Differential Revision: https://phabricator.services.mozilla.com/D60383