gecko-dev/gfx/layers
Miko Mynttinen addbfb5585 Bug 1619367 - Fix mask/filter opacity optimizations with WebRender r=jrmuizel
This patch fixes two opacity/mask optimizations when WebRender is in use:
- The first optimization defers opacity handling and applies it during painting of nsDisplayMasksAndClipPaths if it is the only item inside nsDisplayOpacity. This was broken because WebRenderCommandBuilder did not invalidate the mask image when this decision changed.
- The second optimization applies opacity directly to stacking context in |nsDisplayMasksAndClipPaths::CreateWebRenderCommands()| with non-polygonal clip-paths. This was relying on the above optimization incorrectly triggering, which flattened away the opacity container. However, if the nsDisplayOpacity was active or contained more than one item, the opacity could be applied twice.

Differential Revision: https://phabricator.services.mozilla.com/D68995
2020-04-16 14:08:37 +00:00
..
apz Bug 1627362 - Fix WR codepath. r=botond 2020-04-15 21:05:26 +00:00
basic Bug 1618345 - Enforce proper color management by splitting gfx::Color into sRGBColor and DeviceColor types. r=jrmuizel 2020-03-09 14:16:17 +00:00
client Bug 1626142 - Fix canvas handling during resuming on Android r=jnicol 2020-04-14 14:07:30 +00:00
composite Bug 1627326 - Add some plumbing to provide the "stuck sides" flags. r=botond,hiro 2020-04-16 03:21:24 +00:00
d3d11 Bug 1617808 - Re-deliver PREFER_COMPOSITOR_SURFACE flag to WebRender r=gw 2020-03-10 03:52:08 +00:00
ipc Bug 1630223: Replace remaining occurrences of Unsound_IsClosed with !CanSend in CanvasTranslator. r=jrmuizel 2020-04-15 19:57:38 +00:00
layerviewer Bug 1620556 - Automatic code fixes for Prettier 1.19.1 upgrade. r=Standard8,remote-protocol-reviewers,marionette-reviewers,webcompat-reviewers,perftest-reviewers,sparky,whimboo,denschub 2020-03-13 23:38:52 +00:00
mlgpu Bug 1626659 - Fix non-unified build errors in gfx/layers/mlgpu. r=tnikkel 2020-04-04 23:39:01 +00:00
opengl Bug 1143478 - Rename mozilla::Pair to CompactPair. r=froydnj 2020-03-17 12:42:12 +00:00
protobuf Bug 1627444 p2 - Regenerate protobuf classes r=lina 2020-04-07 18:05:56 +00:00
wr Bug 1619367 - Fix mask/filter opacity optimizations with WebRender r=jrmuizel 2020-04-16 14:08:37 +00:00
AnimationHelper.cpp Bug 1620873 - Make MotionPathData Maybe<MotionPathData> in TransformData. r=boris 2020-03-10 01:30:08 +00:00
AnimationHelper.h Bug 1620873 - Make MotionPathData Maybe<MotionPathData> in TransformData. r=boris 2020-03-10 01:30:08 +00:00
AnimationInfo.cpp Bug 1620873 - Make MotionPathData Maybe<MotionPathData> in TransformData. r=boris 2020-03-10 01:30:08 +00:00
AnimationInfo.h Bug 1620873 - Make MotionPathData Maybe<MotionPathData> in TransformData. r=boris 2020-03-10 01:30:08 +00:00
AsyncCanvasRenderer.cpp Bug 1626659 - Fix non-unified build errors elsewhere in gfx/layers. r=tnikkel 2020-04-04 23:39:14 +00:00
AsyncCanvasRenderer.h Bug 1598998 - Fix CanvasContextType::ImageBitmap handling r=nical 2020-01-08 01:12:50 +00:00
AtomicRefCountedWithFinalize.h
AxisPhysicsModel.cpp Bug 1613985 - Use default for equivalent-to-default constructors/destructors in gfx. r=jrmuizel 2020-03-04 15:39:20 +00:00
AxisPhysicsModel.h
AxisPhysicsMSDModel.cpp Bug 1613985 - Use default for equivalent-to-default constructors/destructors in gfx. r=jrmuizel 2020-03-04 15:39:20 +00:00
AxisPhysicsMSDModel.h
BSPTree.cpp
BSPTree.h Bug 1609996 - Reorder some includes affected by the previous patches. r=froydnj 2020-01-20 16:19:48 +00:00
BufferTexture.cpp Bug 1609996 - Reorder some includes affected by the previous patches. r=froydnj 2020-01-20 16:19:48 +00:00
BufferTexture.h Bug 1600595: Part 2 - Change BufferTexture to allow any IShmemAllocator owner r=mattwoodrow 2020-01-04 19:35:38 +00:00
CanvasDrawEventRecorder.cpp Bug 1618868 Part 3: Fix failure test race in CanvasEventRingBuffer::ReturnRead. r=jrmuizel 2020-04-14 17:53:15 +00:00
CanvasDrawEventRecorder.h Bug 1618868 Part 2: Make counts and states in CanvasEventRingBuffer footers SequentiallyConsistent. r=jrmuizel 2020-04-14 17:52:57 +00:00
CanvasRenderer.cpp Bug 1626659 - Fix non-unified build errors elsewhere in gfx/layers. r=tnikkel 2020-04-04 23:39:14 +00:00
CanvasRenderer.h Bug 1477756 - Initial out-of-process WebGL implementation. r=mccr8,handyman 2020-01-08 22:19:14 +00:00
CompositionRecorder.cpp Bug 1581240 - Return collected frames from the composition recorder as data URIs r=mstange 2019-11-07 22:34:37 +00:00
CompositionRecorder.h Bug 1581240 - Return collected frames from the composition recorder as data URIs r=mstange 2019-11-07 22:34:37 +00:00
Compositor.cpp Bug 1626659 - Fix non-unified build errors elsewhere in gfx/layers. r=tnikkel 2020-04-04 23:39:14 +00:00
Compositor.h Bug 1618345 - Enforce proper color management by splitting gfx::Color into sRGBColor and DeviceColor types. r=jrmuizel 2020-03-09 14:16:17 +00:00
CompositorTypes.h Bug 1570879 - Fix high contrast theme handling with DirectComposition and WebRender r=nical 2019-10-08 10:07:47 +00:00
CopyableCanvasRenderer.cpp Bug 1626659 - Fix non-unified build errors elsewhere in gfx/layers. r=tnikkel 2020-04-04 23:39:14 +00:00
CopyableCanvasRenderer.h Bug 1477756 - Initial out-of-process WebGL implementation. r=mccr8,handyman 2020-01-08 22:19:14 +00:00
D3D9SurfaceImage.cpp Bug 1618458 - Clean up TextureClientRecycleAllocator r=nical 2020-02-27 13:34:08 +00:00
D3D9SurfaceImage.h
D3D11ShareHandleImage.cpp Bug 1600595: Part 4 - Make D3D11ShareHandleImage use CreateBGRA8DataSourceSurfaceForD3D11Texture r=mattwoodrow 2020-01-04 19:37:01 +00:00
D3D11ShareHandleImage.h Bug 1543359 - P7. Plumb YUV Color Range info in Windows' Image types. r=mattwoodrow 2019-07-26 08:45:30 +00:00
D3D11YCbCrImage.cpp Bug 1543359 - P7. Plumb YUV Color Range info in Windows' Image types. r=mattwoodrow 2019-07-26 08:45:30 +00:00
D3D11YCbCrImage.h Bug 1618458 - Clean up TextureClientRecycleAllocator r=nical 2020-02-27 13:34:08 +00:00
DirectedGraph.h
DirectionUtils.h
Effects.cpp
Effects.h Bug 1618345 - Enforce proper color management by splitting gfx::Color into sRGBColor and DeviceColor types. r=jrmuizel 2020-03-09 14:16:17 +00:00
FrameMetrics.cpp Bug 1626659 - Fix non-unified build errors elsewhere in gfx/layers. r=tnikkel 2020-04-04 23:39:14 +00:00
FrameMetrics.h Bug 1617427 - Miscellaenous documentation fixes. r=botond 2020-03-13 19:56:56 +00:00
GLImages.cpp
GLImages.h Bug 1509316 - p1: move composite listening out of VideoData/VideoSink. r=jya,mattwoodrow 2019-10-09 23:08:12 +00:00
GPUVideoImage.h Bug 1613985 - Use default for equivalent-to-default constructors/destructors in gfx. r=jrmuizel 2020-03-04 15:39:20 +00:00
ImageContainer.cpp Bug 1618429 - Add RecycleAllocator support to ImageContainer for RDD process r=nical 2020-03-11 10:52:48 +00:00
ImageContainer.h Bug 1618429 - Add RecycleAllocator support to ImageContainer for RDD process r=nical 2020-03-11 10:52:48 +00:00
ImageDataSerializer.cpp Bug 1543359 - P6. Add backend for color range information. r=mattwoodrow. 2019-07-26 08:45:31 +00:00
ImageDataSerializer.h Bug 1543359 - P6. Add backend for color range information. r=mattwoodrow. 2019-07-26 08:45:31 +00:00
ImageLayers.cpp Bug 1613985 - Use default for equivalent-to-default constructors/destructors in gfx. r=jrmuizel 2020-03-04 15:39:20 +00:00
ImageLayers.h Bug 1610388 - Remove nsAutoPtr usage from gfx/. r=mattwoodrow 2020-01-21 01:25:28 +00:00
ImageTypes.h Bug 1613358 [Wayland] Implement WaylandDMABUFSurfaceImage dmabuf image, r=sotaro 2020-02-06 15:15:02 +00:00
IMFYCbCrImage.cpp
IMFYCbCrImage.h
IPDLActor.h
LayerAttributes.h Bug 1613009 - Make SimpleLayerAttributes explicitly serialized. r=botond 2020-03-13 19:59:04 +00:00
LayerMetricsWrapper.h Bug 1610731 - Remove GetIsStickyPosition and clean up some TODOs. r=botond 2020-04-04 06:16:57 +00:00
Layers.cpp Bug 1622360 - Downgrade mPendingScrollUpdates from RenderRootArray. r=jrmuizel 2020-04-06 20:44:46 +00:00
Layers.h Bug 1622360 - Downgrade mPendingScrollUpdates from RenderRootArray. r=jrmuizel 2020-04-06 20:44:46 +00:00
LayerScope.cpp Bug 1627444 p3 - Replace ByteSize by ByteSizeLong. r=boris 2020-04-07 15:26:26 +00:00
LayerScope.h
LayersHelpers.cpp
LayersHelpers.h
LayersLogging.cpp Bug 1622360 - Remove SLGuidAndRenderRoot and convert remaining uses to ScrollableLayerGuid. r=botond 2020-03-27 17:44:21 +00:00
LayersLogging.h Bug 1622360 - Remove SLGuidAndRenderRoot and convert remaining uses to ScrollableLayerGuid. r=botond 2020-03-27 17:44:21 +00:00
LayerSorter.cpp
LayerSorter.h
LayersTypes.cpp Bug 1594145 - Add gfx telemetry scalars to geckoview_streaming. r=Dexter,jnicol 2019-11-26 19:42:06 +00:00
LayersTypes.h Bug 1624789 - Replace MOZ_MUST_USE with [[nodiscard]] in gfx. r=gfx-reviewers,nical 2020-03-25 10:35:04 +00:00
LayerTreeInvalidation.cpp Bug 1618345 - Enforce proper color management by splitting gfx::Color into sRGBColor and DeviceColor types. r=jrmuizel 2020-03-09 14:16:17 +00:00
LayerTreeInvalidation.h
LayerUserData.h
MacIOSurfaceHelpers.cpp Bug 1543359 - P12. Fix colorspace rendering with IOSurface and basic compositor. r=mattwoodrow 2019-07-26 08:45:40 +00:00
MacIOSurfaceHelpers.h
MacIOSurfaceImage.cpp
MacIOSurfaceImage.h
MemoryPressureObserver.cpp Bug 1626659 - Fix non-unified build errors elsewhere in gfx/layers. r=tnikkel 2020-04-04 23:39:14 +00:00
MemoryPressureObserver.h
moz.build Bug 1622360 - Remove SLGuidAndRenderRoot and convert remaining uses to ScrollableLayerGuid. r=botond 2020-03-27 17:44:21 +00:00
NativeLayer.h Bug 1613985 - Use default for equivalent-to-default constructors/destructors in gfx. r=jrmuizel 2020-03-04 15:39:20 +00:00
NativeLayerCA.h Bug 1608717 - Support per-tile clip (valid) region for native compositor implementations. r=sotaro,mstange 2020-02-12 04:27:15 +00:00
NativeLayerCA.mm Bug 1608717 - Support per-tile clip (valid) region for native compositor implementations. r=sotaro,mstange 2020-02-12 04:27:15 +00:00
OOPCanvasRenderer.h Bug 1613985 - Use default for equivalent-to-default constructors/destructors in gfx. r=jrmuizel 2020-03-04 15:39:20 +00:00
PaintThread.cpp Bug 1620594 - Part 1: Rework NS_ReleaseOnMainThreadSystemGroup. r=nika 2020-04-07 15:16:23 +00:00
PaintThread.h Bug 1613985 - Use default for equivalent-to-default constructors/destructors in gfx. r=jrmuizel 2020-03-04 15:39:20 +00:00
PersistentBufferProvider.cpp Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-11-26 14:35:02 +00:00
PersistentBufferProvider.h Bug 1592213: Allow up to 2 more textures in PersistentBufferProviderShared when webrender enabled. r=nical 2019-10-30 10:05:59 +00:00
ProfilerScreenshots.cpp Bug 1620594 - Part 7: Remove TabGroup and SystemGroup. r=nika,bas 2020-04-07 15:17:47 +00:00
ProfilerScreenshots.h Bug 1450059 - part 2 - move ProfilerScreenshots over to the background thread; r=gregtatum 2019-09-25 12:59:24 +00:00
ReadbackLayer.h Bug 1618345 - Enforce proper color management by splitting gfx::Color into sRGBColor and DeviceColor types. r=jrmuizel 2020-03-09 14:16:17 +00:00
ReadbackProcessor.cpp Bug 1618345 - Enforce proper color management by splitting gfx::Color into sRGBColor and DeviceColor types. r=jrmuizel 2020-03-09 14:16:17 +00:00
ReadbackProcessor.h
RecordedCanvasEventImpl.h Bug 1598585 Part 4: Notify the content process of a canvas device change. r=jrmuizel 2020-02-24 11:21:27 +00:00
RenderTrace.cpp
RenderTrace.h
RepaintRequest.h Bug 1617427 - Miscellaenous documentation fixes. r=botond 2020-03-13 19:56:56 +00:00
RotatedBuffer.cpp Bug 1609996 - Reorder some includes affected by the previous patches. r=froydnj 2020-01-20 16:19:48 +00:00
RotatedBuffer.h
ScrollableLayerGuid.h Bug 1613985 - Use default for equivalent-to-default constructors/destructors in gfx. r=jrmuizel 2020-03-04 15:39:20 +00:00
ShareableCanvasRenderer.cpp Bug 1477756 - Initial out-of-process WebGL implementation. r=mccr8,handyman 2020-01-08 22:19:14 +00:00
ShareableCanvasRenderer.h
SourceSurfaceSharedData.cpp Bug 1612589 - Improve image memory reporting even further. r=tnikkel 2020-02-05 22:22:13 +00:00
SourceSurfaceSharedData.h Bug 1612589 - Improve image memory reporting even further. r=tnikkel 2020-02-05 22:22:13 +00:00
SourceSurfaceVolatileData.cpp Bug 1612589 - Improve image memory reporting even further. r=tnikkel 2020-02-05 22:22:13 +00:00
SourceSurfaceVolatileData.h Bug 1612589 - Improve image memory reporting even further. r=tnikkel 2020-02-05 22:22:13 +00:00
SurfacePool.h Bug 1613985 - Use default for equivalent-to-default constructors/destructors in gfx. r=jrmuizel 2020-03-04 15:39:20 +00:00
SurfacePoolCA.h Bug 1592038 - Share depth buffers across IOSurface framebuffers with the same size. r=jgilbert 2019-12-19 02:55:15 +00:00
SurfacePoolCA.mm Bug 1052940 - Make Maybe<T> only declare copy/move operations if T is copyable/movable. r=froydnj,jgilbert 2020-03-27 14:10:45 +00:00
SyncObject.cpp
SyncObject.h Bug 1613985 - Use default for equivalent-to-default constructors/destructors in gfx. r=jrmuizel 2020-03-04 15:39:20 +00:00
TextureDIB.cpp Bug 1613985 - Use MOZ_COUNTED_DEFAULT_CTOR_*/MOZ_COUNTED_DTOR_* macros. r=froydnj 2020-02-20 11:40:14 +00:00
TextureDIB.h
TextureSourceProvider.cpp
TextureSourceProvider.h
TextureSync.cpp
TextureSync.h
TextureWrapperImage.cpp Bug 1613985 - Use default for equivalent-to-default constructors/destructors in gfx. r=jrmuizel 2020-03-04 15:39:20 +00:00
TextureWrapperImage.h
TiledLayerBuffer.h Bug 1519636 - Reformat recent changes to the Google coding style r=jgilbert 2020-04-05 13:34:58 +00:00
TransactionIdAllocator.h
TreeTraversal.h Bug 1625138 - Part 39: Replace mozilla::IsSame with std::is_same in gfx/. r=froydnj 2020-03-28 13:57:21 +00:00
UpdateImageHelper.h
WaylandDMABUFSurfaceImage.cpp Bug 1613358 [Wayland] Implement WaylandDMABUFSurfaceImage dmabuf image, r=sotaro 2020-02-06 15:15:02 +00:00
WaylandDMABUFSurfaceImage.h Bug 1616892 [Wayland] Use VAAPIFrameHolder at release callback, r=sotaro 2020-02-21 10:59:17 +00:00
ZoomConstraints.h Bug 1613985 - Use MOZ_COUNTED_DEFAULT_CTOR_*/MOZ_COUNTED_DTOR_* macros. r=froydnj 2020-02-20 11:40:14 +00:00