gecko-dev/gfx/layers
Ryan Hunt cc9ba81109 Record buffer operations to a struct for replaying on paint thread (bug 1399692 part 6, r=bas)
This commit adds a CapturedBufferState which is used to record all the operations
that are necessary for preparing the buffers. The commands are then instantly
executed to preserve the same behavior, but in the following commit they will
be dispatched to the paint thread.

Note: RotatedBuffer's aren't thread safe and so a shallow copy needs to be made
for sending to the paint thread. This complicates the code for AdjustTo as it can
fail naturally and the buffer parameter changes are needed later in BeginPaint.
So the code for AdjustTo is split up a bit to accomodate that.

MozReview-Commit-ID: FwSwFay887o

--HG--
extra : rebase_source : 70dd8a055aaa13586810030978409d1a89c39081
extra : intermediate-source : f235b12eda6efe0bdec8e6590d813738f53ffe82
extra : source : cb6507b560aaad188fc83a47b664aaa5692a0acd
2017-10-25 10:20:49 -04:00
..
apz Bug 1415225 - Add a couple of mochitests for event-regions overrides. r=botond 2017-11-09 09:03:53 -05:00
basic Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
client Record buffer operations to a struct for replaying on paint thread (bug 1399692 part 6, r=bas) 2017-10-25 10:20:49 -04:00
composite Bug 1412048 - Remove NS_RUNTIMEABORT. r=froydnj 2017-10-24 23:41:15 -07:00
d3d11 Bug 1415763 - Fix DXGIYCbCrTextureData as to deliver YUVColorSpace r=mattwoodrow 2017-11-10 18:15:54 +09:00
ipc Bug 1415763 - Fix DXGIYCbCrTextureData as to deliver YUVColorSpace r=mattwoodrow 2017-11-10 18:15:54 +09:00
layerviewer
mlgpu Don't treat resampled layers as entirely opaque. (bug 1412078, r=mattwoodrow) 2017-11-06 12:18:01 -08:00
opengl Bug 1413230 - Ensure we are attached to the GL context in SurfaceTextureHostOGL::PrepareTextureSource() r=jnicol,nical 2017-11-06 09:30:13 -06:00
protobuf Bug 1411450 - Add the protobuf version to LayerScopePacket.proto. r=mattwoodrow 2017-10-26 16:15:30 -07:00
wr Bug 1415225 - Stop setting the EventRegionsOverride flag on root layers. r=botond,mattwoodrow 2017-11-09 09:03:52 -05:00
AnimationHelper.cpp Bug 1340005 - Part 7: Switch compositor animations to Servo backend for desktop. r=birtles,hiro,nical 2017-10-27 21:13:27 +02:00
AnimationHelper.h Bug 1340005 - Part 3: Use AnimationValue on the compositor thread. r=birtles 2017-09-21 17:01:48 +08:00
AnimationInfo.cpp Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
AnimationInfo.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
AsyncCanvasRenderer.cpp Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
AsyncCanvasRenderer.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
AtomicRefCountedWithFinalize.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
AxisPhysicsMSDModel.cpp Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
AxisPhysicsMSDModel.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
AxisPhysicsModel.cpp Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
AxisPhysicsModel.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
BSPTree.cpp Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
BSPTree.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
BufferTexture.cpp Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
BufferTexture.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
BufferUnrotate.cpp Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
BufferUnrotate.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
CanvasRenderer.cpp Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
CanvasRenderer.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
Compositor.cpp Bug 1410766 - Re-acquireDevices in gpu process when SimulateDeviceReset() is called r=dvander 2017-11-03 17:06:37 +09:00
Compositor.h Bug 1410766 - Re-acquireDevices in gpu process when SimulateDeviceReset() is called r=dvander 2017-11-03 17:06:37 +09:00
CompositorTypes.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
CopyableCanvasRenderer.cpp Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
CopyableCanvasRenderer.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
D3D9SurfaceImage.cpp Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
D3D9SurfaceImage.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
D3D11ShareHandleImage.cpp Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
D3D11ShareHandleImage.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
D3D11YCbCrImage.cpp Bug 1415763 - Fix DXGIYCbCrTextureData as to deliver YUVColorSpace r=mattwoodrow 2017-11-10 18:15:54 +09:00
D3D11YCbCrImage.h Bug 1415763 - Fix DXGIYCbCrTextureData as to deliver YUVColorSpace r=mattwoodrow 2017-11-10 18:15:54 +09:00
DirectedGraph.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
DirectionUtils.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
Effects.cpp Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
Effects.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
FrameMetrics.cpp Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
FrameMetrics.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
GLImages.cpp Bug 1412427 part 1: Add standard mode line & MPL boilerplate to a few gfx C++ files that are missing it entirely. r=jrmuizel 2017-10-27 15:55:37 -07:00
GLImages.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
GPUVideoImage.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
IMFYCbCrImage.cpp Bug 1415763 - Fix DXGIYCbCrTextureData as to deliver YUVColorSpace r=mattwoodrow 2017-11-10 18:15:54 +09:00
IMFYCbCrImage.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
IPDLActor.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
ImageContainer.cpp Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
ImageContainer.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
ImageDataSerializer.cpp Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
ImageDataSerializer.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
ImageLayers.cpp Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
ImageLayers.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
ImageTypes.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
LayerAttributes.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
LayerMetricsWrapper.h Bug 1415225 - Move the EventRegionsOverride field to be on RefLayers only. r=botond 2017-11-09 09:03:52 -05:00
LayerScope.cpp Remove trivial calls to DataSourceSurface::Stride. (bug 1405390 part 3, r=bas) 2017-11-09 00:43:30 -08:00
LayerScope.h
LayerSorter.cpp Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
LayerSorter.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
LayerTreeInvalidation.cpp Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
LayerTreeInvalidation.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
LayerUserData.h
Layers.cpp Bug 1415225 - Move the EventRegionsOverride field to be on RefLayers only. r=botond 2017-11-09 09:03:52 -05:00
Layers.h Bug 1415225 - Move the EventRegionsOverride field to be on RefLayers only. r=botond 2017-11-09 09:03:52 -05:00
LayersHelpers.cpp Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
LayersHelpers.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
LayersLogging.cpp Bug 1412280 - Update sticky code for API change in WR PR 1940. r=jrmuizel 2017-10-31 09:17:22 -04:00
LayersLogging.h Bug 1412280 - Update sticky code for API change in WR PR 1940. r=jrmuizel 2017-10-31 09:17:22 -04:00
LayersTypes.cpp Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
LayersTypes.h Bug 1415225 - Move the EventRegionsOverride field to be on RefLayers only. r=botond 2017-11-09 09:03:52 -05:00
MacIOSurfaceHelpers.cpp Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
MacIOSurfaceHelpers.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
MacIOSurfaceImage.cpp Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
MacIOSurfaceImage.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
PaintThread.cpp Record buffer operations to a struct for replaying on paint thread (bug 1399692 part 6, r=bas) 2017-10-25 10:20:49 -04:00
PaintThread.h Record buffer operations to a struct for replaying on paint thread (bug 1399692 part 6, r=bas) 2017-10-25 10:20:49 -04:00
PersistentBufferProvider.cpp Bug 1411472 - Backout because of test failures 2017-11-07 11:34:13 +09:00
PersistentBufferProvider.h Bug 1411472 - Backout because of test failures 2017-11-07 11:34:13 +09:00
ReadbackLayer.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
ReadbackProcessor.cpp Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
ReadbackProcessor.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
RenderTrace.cpp Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
RenderTrace.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
RotatedBuffer.cpp Record buffer operations to a struct for replaying on paint thread (bug 1399692 part 6, r=bas) 2017-10-25 10:20:49 -04:00
RotatedBuffer.h Record buffer operations to a struct for replaying on paint thread (bug 1399692 part 6, r=bas) 2017-10-25 10:20:49 -04:00
ShareableCanvasRenderer.cpp Bug 1411472 - Backout because of test failures 2017-11-07 11:34:13 +09:00
ShareableCanvasRenderer.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
SourceSurfaceSharedData.cpp merge mozilla-inbound to mozilla-central. r=merge a=merge 2017-10-30 23:52:23 +01:00
SourceSurfaceSharedData.h merge mozilla-inbound to mozilla-central. r=merge a=merge 2017-10-30 23:52:23 +01:00
SourceSurfaceVolatileData.cpp Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
SourceSurfaceVolatileData.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
SyncObject.cpp Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
SyncObject.h Bug 1409176 - make SyncObjectD3D11Client become fallible. r=dvander 2017-11-06 16:07:22 +08:00
TextureDIB.cpp Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
TextureDIB.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
TextureSourceProvider.cpp Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
TextureSourceProvider.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
TextureWrapperImage.cpp Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
TextureWrapperImage.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
TiledLayerBuffer.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
TransactionIdAllocator.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
TreeTraversal.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
UpdateImageHelper.h Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel 2017-10-27 16:10:06 -07:00
moz.build Record buffer operations to a struct for replaying on paint thread (bug 1399692 part 6, r=bas) 2017-10-25 10:20:49 -04:00