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

1090 Коммитов

Автор SHA1 Сообщение Дата
Markus Stange a1f6ba9da5 Bug 1207590 - Don't use SingleTiledContentClient for layers that are larger than the maximum texture size. r=mattwoodrow
--HG--
extra : commitid : AqImLRfZYFc
2015-09-23 12:26:56 +02:00
Nicolas Silva 953150ec3d Bug 1072313 - Never call TextureClient::KeepUntilFullDeallocation off the ipdl thread. r=mattwoodrow 2015-09-21 16:54:40 +02:00
Markus Stange db5e3a34d4 Back out changeset 17a4283a8b6f (bug 1195400) because of build bustage.
--HG--
extra : commitid : BhzRGfWfYrb
extra : rebase_source : 97c401dd963301cdcdf9551c7c96fcd7b56636c8
2015-09-22 12:51:48 +02:00
Markus Stange 57ca0b8c39 Bug 1195400 - Don't use SingleTiledContentClient for layers that are larger than the maximum texture size. r=mattwoodrow
--HG--
extra : commitid : 3YaqNF6sPAT
extra : rebase_source : af64e3bd795a34d63dea4a5c89014156c8838d13
extra : histedit_source : c0ee79ad404abf3c0270c40ae63f178e04e7a8ab
2015-09-20 18:34:04 +02:00
Wes Kocher c6aa53d157 Backed out changeset 09c2a214244b (bug 1072313) for Windows textureclient crashes CLOSED TREE 2015-09-21 10:37:07 -07:00
Nicolas Silva 554272fa7f Bug 1072313 - Never call TextureClient::KeepUntilFullDeallocation off the ipdl thread. r=mattwoodrow 2015-09-21 16:54:40 +02:00
Sotaro Ikeda c58047810f Bug 1172719 - Fix SharedSurface fence handling on gonk r=jgilbert,nical 2015-09-21 07:21:52 -07:00
Milan Sreckovic d7bc700e96 Bug 1200021 - crash in mozilla::layers::ContentClientDoubleBuffered::FinalizeFrame(nsIntRegion const&): Diagnostics to get more data. r=bas 2015-09-19 11:19:07 +02:00
Thinker K.F. Li e1e17a72cb Bug 1097464 - Part 6: Handle preserves-3d by compositor. r=roc
Remove WrapPreserve3DList() and replaced it by creating a
nsDisplayTransform item for each transformed frame.

 - Add an additional item for each top frame extending 3D context to
   separate consequence contexts.

 - Effective transform of a layer is the accumulation of ancestors in
   the same 3D context.

 - The layers creating new context and extended by children need a
   temporary buffer if it's effective transform is not 2D.

 - Clip rects are accumulated along the context chain.

 - Visible rects of items are computed from dirty regions of the frame
   creating the context and accumulated transforms.

 - Bounds of items are computed from accumulated transforms and
   accumulated bounds of the descent frames.

 - Backface hidden is handled by compositor and BasicLayerManager.

--HG--
extra : rebase_source : 1a894b057a117a8520898c9f83308d92c122b180
2015-09-17 03:31:00 +02:00
Matt Woodrow 1ea4b7e961 Bug 1197534 - Send RecycleTexture messages from the ImageBridge thread. r=sotaro 2015-09-14 14:17:39 -04:00
Carsten "Tomcat" Book f7534678df Backed out 6 changesets (bug 1097464) for causing OS X 10.10 Reftest Errors
Backed out changeset fbf63ce1ba88 (bug 1097464)
Backed out changeset fdaf4cfa6707 (bug 1097464)
Backed out changeset 727ebd9f744a (bug 1097464)
Backed out changeset 03f03a776042 (bug 1097464)
Backed out changeset 5ec6364b87d7 (bug 1097464)
Backed out changeset 47d056b3af7f (bug 1097464)

--HG--
extra : rebase_source : e2da133b489e4adba373303dad6e559826927e19
2015-09-17 16:24:43 +02:00
Sotaro Ikeda 51c653ee0e Bug 1204895 - Add fence handling to AutoRemoveTexture on gonk r=nical 2015-09-17 07:22:41 -07:00
Jamie Nicol a7a276263d Bug 1200729 - Recompute FrameLayerBuilder item visibility if dirty region changes. r=mwoodrow
Make the FrameLayerBuilder remember for what region it has calculated
display item visibility, then recompute the visibility whenever the
dirty region it is passed to DrawPaintedLayer changes.

This means that the caller does not have to know the entire dirty region
that will be drawn for the transaction, but we can still optimise cases
where it knows some of the dirty region in advance.

This fixes a regression where MultiTiledContentClient's low-res display
port would not be painted if a smaller region of its high-res buffer had
already been painted that transaction, since the FrameLayerBuilder
had decided that most of the larger low-res region was invisible.
2015-09-15 14:41:42 +01:00
Thinker K.F. Li 76109f93c4 Bug 1097464 - Part 6 - Handle preserves-3d by compositor. r=roc
Remove WrapPreserve3DList() and replaced it by creating a
nsDisplayTransform item for each transformed frame.

 - Add an additional item for each top frame extending 3D context to
   separate consequence contexts.

 - Effective transform of a layer is the accumulation of ancestors in
   the same 3D context.

 - The layers creating new context and extended by children need a
   temporary buffer if it's effective transform is not 2D.

 - Clip rects are accumulated along the context chain.

 - Visible rects of items are computed from dirty regions of the frame
   creating the context and accumulated transforms.

 - Bounds of items are computed from accumulated transforms and
   accumulated bounds of the descent frames.

 - Backface hidden is handled by compositor and BasicLayerManager.
2015-09-17 03:31:00 +02:00
Nicholas Nethercote 6f036921dc Bug 1203427 (part 1) - Add nsExpirationTracker::mName. r=froydnj.
There are many sub-classes of nsExpirationTracker. In order to distinguish them
nicely in the logging of timer firings, it's necessary to manually name each
one. (This wouldn't be necessary if there was a way to stringify template
parameters, but there isn't.)

--HG--
extra : rebase_source : 89b99e9dbb2a806bd21145d04a5e023794643b61
2015-09-09 21:07:07 -07:00
Wes Kocher 82a9b4cd94 Backed out changeset be88a56c4856 (bug 1197534) for test_BufferingWait.html crashes CLOSED TREE 2015-09-14 14:43:52 -07:00
Matt Woodrow ae983d7ba4 Bug 1197534 - Send RecycleTexture messages from the ImageBridge thread. r=sotaro
--HG--
extra : rebase_source : 431841816dbb14ceca9138b3ee98af12d8e05eca
2015-09-14 14:17:39 -04:00
Kartikaya Gupta 21a44de982 Bug 1203992 - Distinguish between SingleTiledContentClient and MultiTiledContentClient in the layer tree dump. r=nical
--HG--
extra : commitid : DBHien2adYx
2015-09-14 11:02:11 -04:00
Victor Porof 14ba9c7285 Bug 1200252 - Add marker for when the IPC request for a composite is sent to the compositor thread, r=jsantell,matt 2015-09-11 07:59:53 +02:00
Kevin Wern 368ce48f75 Bug 1173521 - Properly handle unapplying 3D projective transforms to rectangles in APZ code. r=botond
The untransformation is done using the newly added UntransformTo() functions
which call Matrix4x4::ProjectRectBounds(), which returns an empty rectangle
if the result is not at least partially on the positive side of the w = 0 plane.

UntransformTo() returnis the transformed rectangle if it's not empty, and
Nothing() otherwise, making callers check for this case.

The patch also adds some assertions to places where we apply transforms we
know should be 2D (and thus didn't switch to use UntransformTo()), checking
that the transforms are in fact 2D.

--HG--
extra : rebase_source : bbc226f4135c2cf229c4e00dfb017a6c9c078391
extra : source : c2732f62a3b9a5246801aa000ce572ee07f53481
2015-08-28 12:00:29 -04:00
Botond Ballo 2f7c3135ad Bug 1177018 - Only enable APZ test logging for tests that actually use it. r=kats
This avoids excessive amounts of test data accumulating which can slow tests down.

As part of this change, the pref for enabling the logging was made 'Live'.

--HG--
extra : rebase_source : e1d0547e5d3125e9db44bb47ddfff3b4f8d50e99
extra : source : 73fb13743a74a5a920d099fda70d9b1a1fa3a6ed
2015-07-08 19:18:28 -04:00
JerryShih cf9dcf0e40 Bug 1195209 - Modify the matrix calculation for landscape mode. r=mattwoodrow 2015-08-27 10:56:00 -04:00
Victor Porof a79634e0d2 Bug 1050498 - Record compositing operations, r=jsantell,smaug,tromey 2015-08-25 08:51:58 +03:00
William Chen 3c9928ced9 Bug 1131470 - Part 1: Rename existing use of ScreenOrientation to ScreenOrientationInternal. r=baku
--HG--
extra : rebase_source : 72e978d48e8356da9e8c66adfa0a97983034aa5a
2015-08-18 14:55:09 -07:00
Kartikaya Gupta 1db1586922 Bug 1180295 - Implement seamless snapping to the stable state. r=rbarker
--HG--
extra : commitid : BCRW1BHPhL8
2015-08-18 14:27:20 -04:00
Matt Woodrow 224fe499c5 Bug 1135935 - Part 6: Wait for the compositor to stop using textures before recycling them. r=jrmuizel
--HG--
extra : rebase_source : 9b24d6a0299cf50063c4ebcf7ca4322e62e182ad
2015-08-13 15:18:53 -04:00
Matt Woodrow b6b2040427 Bug 1135935 - Part 4: Move IDirect3DTexture9 allocations and ownership into the TextureClient. r=jrmuizel
--HG--
extra : rebase_source : 3ef1a94532980c91b850d65047493b208b1b09ce
2015-08-11 10:15:34 -04:00
Matt Woodrow 21097c326c Bug 1135935 - Part 3: Allow overriding of allocations for texture client recycling. r=sotaro
--HG--
extra : rebase_source : b93e67fd29dd805266e767f09c2df496d9256f86
2015-08-10 16:04:38 -04:00
Matt Woodrow ffbb1cdf8c Bug 1135935 - Part 2: Merge TextureClientRecycleAllocator into base class. r=sotaro
--HG--
extra : rebase_source : 7f83f4d66132531a175f17c851fa4da04fc430d9
2015-08-10 16:02:14 -04:00
Matt Woodrow 8c50fdbc72 Bug 1135935 - Part 1: Don't implement ISurfaceAllocator for the texture recycler. r=sotaro
--HG--
extra : rebase_source : 16b0a2a6e8e37f287f7aa4c6de94e6459418227c
2015-08-10 16:00:54 -04:00
David Anderson 1af4366a28 Remove the backend flag to TextureClient::CreateForDrawing. (bug 1183910 part 9, r=mattwoodrow) 2015-08-06 17:27:36 -07:00
Carsten "Tomcat" Book 26f2018b57 Backed out 2 changesets (bug 1183910) for bustage on a CLOSED TREE
Backed out changeset 9617a34de78f (bug 1183910)
Backed out changeset d8f79432c768 (bug 1183910)
2015-08-06 12:09:52 +02:00
David Anderson ff609fc994 Remove the backend flag to TextureClient::CreateForDrawing. (bug 1183910 part 9, r=mattwoodrow) 2015-08-06 02:41:07 -07:00
Bas Schouten f99f040ff9 Bug 1190950: Check mappings and surfaces for UpdateFromSurface more robustly. r=mattwoodrow 2015-08-06 02:29:47 +00:00
David Anderson a976b3be5c Don't create a D3D11 compositor device on content processes. (bug 1183910 part 8, r=bas,mattwoodrow) 2015-08-05 02:45:06 -07:00
Jamie Nicol 3e0de12cde Bug 1187619 - Only optmimize FrameLayerBuilder visibility calculations if correct. r=mattwoodrow
Bug 1176077 introduced the parameter aDirtyRegion to
DrawPaintedLayerCallback, which allows the callback to recompute the
visibility of all items to be painted in that transaction in a single
go. However, this parameter can not always be determined correctly
when using RotatedBuffer, and using an incorrect value was causing
graphical glitches.

Make the parameter optional, and on null values do not perform the
optimisation. Pass null from ClientPaintedLayer, which uses
RotatedBuffer and was causing problems, but continue to pass the
correct value from other Layer implementations. This optimisation was
most important for tiled layers using progressive paint, so this is
okay.
2015-08-03 04:07:00 -04:00
Matt Woodrow 9d73d12d9d Backout 104b0bbd714f (Bug 1189399) and re-enable single tiling for B2G since the issues should be resolved now. 2015-07-31 17:06:04 -04:00
Matt Woodrow a1da098a25 Bug 1189261 - Mark tile invalid region in coordinates relative to the tile. r=jrmuizel 2015-07-31 17:03:58 -04:00
Matt Woodrow 7741e388ea Bug 1189399 - Disable single tile painting for b2g because of regressions. r=jrmuizel
--HG--
extra : rebase_source : 22f52714b1e389eef642261e260c523a1be86fbd
2015-07-30 17:44:03 -04:00
Andrew Comminos f8f6b355a9 Bug 1187440 - Implement GLX shared surfaces on the OpenGL compositor. r=jgilbert,nical 2015-07-30 12:40:56 -04:00
Matt Woodrow 71c406b6e9 Bug 1180326 - Part 6: Use SingleTiledContentClient for non-scrollable layers on b2g and OSX. r=jrmuizel
--HG--
extra : rebase_source : 82e5be89cedaac9c4203886b595da960bfad1f58
2015-07-29 12:03:01 -04:00
Matt Woodrow acf197a1b6 Bug 1180326 - Part 4: Add new content client. r=jrmuizel
--HG--
extra : rebase_source : 320abc2284fbfa2b1b7d7b8cd3ad29fb89c6b591
2015-07-29 12:02:40 -04:00
Matt Woodrow bbf65f0224 Bug 1180326 - Part 3: Move repeated code into GetBackBuffer. r=jrmuizel
--HG--
extra : rebase_source : e524a870a3e640372cc5b4ed6a426d2f3bf7a764
2015-07-29 12:02:27 -04:00
Matt Woodrow 13b68d924b Bug 1180326 - Part 2: Add support for variable tile sizes. r=jrmuizel
--HG--
extra : rebase_source : 3bc281bba2ddaa536df07adaf047be6e21676b00
2015-07-29 12:01:21 -04:00
Matt Woodrow 2570217fc4 Bug 1180326 - Part 1: Abstract parts of the client side tiling that we need. r=jrmuizel
--HG--
extra : rebase_source : d7536e637c61418a919b714c2bb494aefd6b825d
2015-07-29 12:01:11 -04:00
David Anderson b18f329c76 Refactor graphics device initialization on Windows. (bug 1183910 part 1, r=mattwoodrow,bas)
This patch addresses a number of inconsistencies in the device initialization process, as well as simplifying it for future use. All device decisions are now explicitly made up-front during startup, rather than implicitly or on-demand. In addition a number of restrictions have been placed on when we can construct devices.

Full change list:
 (1) We no longer attempt to use D3D11 if acceleration is disabled or D3D9 is preferred. This is a departure from our previous behavior, where we would construct these devices but then not use them as a compositor backend.
 (2) D3D11 startup no longer creates a content device (this is reserved for D2D initialization).
 (3) D2D is only attempted if we managed to create a D3D11 compositor device. This is a departure from previous behavior where if D3D11 was not used for compositing, we could still create its machinery to use D2D as a content backend.
 (4) D2D 1.1 initialization is now directly responsible for creating a D3D11 content device.
 (5) D2D 1.0 and 1.1 logic have been disentangled for clarity.
 (6) UpdateRenderMode() has been split up, so we can update backend prefs out of band with device resets.
 (7) mUseGDIFonts and mUseDirectWrite have been removed as their state was confusing. Instead, D2D now depends on DWrite initialization succeeding. If later we fail to get a DWrite font list, we revert our decision to use Direct2D.
 (8) Device resets now clear a little more state, including the devices set in Moz2D Factory.
 (9) We no longer create a DWrite text analyzer as it was unused.
2015-07-28 16:52:54 -07:00
Nicolas Silva 8e7dfde405 Bug 1118876 - Add edge padding with DrawTargetTiled. r=jrmuizel 2015-07-12 11:11:30 +02:00
Bas Schouten 1a51d15b0f Bug 1176363 - Part 1: Stop using DrawTargets off the main thread. r=mattwoodrow 2015-07-27 15:47:29 +00:00
Ryan VanderMeulen e107ea6a37 Backed out changeset adbd8a7608e4 (bug 1176363) for mochitest-gl permacrashes. 2015-07-27 13:54:56 -04:00
Bas Schouten 0bdd67bdd0 Bug 1176363 - Part 1: Stop using DrawTargets off the main thread. r=mattwoodrow 2015-07-27 15:47:29 +00:00