Commit Graph

19999 Commits

Author SHA1 Message Date
Mason Chang
876417d4b1 Bug 1188075 - Speed up inner box-shadow drawing by using a border-image style approach. r=mstange 2015-09-18 11:23:55 -07:00
Lee Salzman
4fbc44de5a Bug 1205045 - remove GTK calls from compositor thread. r=jmuizelaar 2015-09-15 16:46:39 -04: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
Thinker K.F. Li
46b545727a Bug 1097464 - Part 4: Fix preserve3d wording for layer flags. r=roc
--HG--
extra : rebase_source : 3471b292ead698cafdd5a37bd3a6ed7894c2ca44
2015-09-17 03:31:00 +02:00
Thinker K.F. Li
e9a8758d19 Bug 1097464 - Part 3 - Fix and add reftests. r=roc
--HG--
extra : rebase_source : cd4a906c120d96e6c8d37ce2e301f7ab3837e3bc
2015-09-17 08:30:00 +02:00
Thinker K.F. Li
568e7ca86e Bug 1097464 - Part 2 - Snap translation for 3d transforms. r=roc
--HG--
extra : rebase_source : ec019b2aff7aa4d62d1ce7bfcc389cdce0018246
2015-09-17 03:31:00 +02:00
Thinker K.F. Li
061d1bb4c7 Bug 1097464 - Part 1 - Remove Z value from 3D transforms for D3D9. r=roc,matt.woodrow
--HG--
extra : rebase_source : 3ff8f50daf2309dd742806ab34577acc8edf38c7
2015-09-17 03:31:00 +02:00
John Daggett
70e21e9853 Bug 1205570 - fix up font prefs for x-math lang group. r=heycam 2015-09-18 13:48:45 +09:00
Phil Ringnalda
10cf9b120c Back out changeset e18e75437c6e (bug 1204106) for Android 4.0 API11+ debug reftest-5 opacity-blending.html failures 2015-09-17 20:30:09 -07:00
Nicholas Nethercote
af6751ef10 Bug 1205533 - Fix and disallow warnings in gfx/qcms/. r=jrmuizel.
This patch fixes various warnings from MSVC.

- Several "truncation from 'double' to 'float'" warnings, easily fixed by
  appending 'f' to literals.

- Some "signed/unsigned mismatch" warnings. In read_tag_lutType(), MSVC is
  apparently promoting the multiplication of a uint8_t and a uint16_t to an
  int32_t, oddly enough. A uint32_t cast fixes the warning.

- |offset| was unused in qcms_data_create_rbg_with_gamma().

- A couple of "overflow in floating-point constant arithmetic" warnings
  involving INFINITY in transform_util.c. There is some type confusion here --
  in C99 HUGE_VAL is a double and INFINITY is a float. So the HUGE_VAL here
  should actualy be HUGE_VALF. But, strangely enough, that isn't enough to
  avoid the warning, I don't know why. However, it turns out that any
  non-positive value for |interval| will have the same effect, so I just
  removed all the INFINITY/HUGE_VAL stuff and used -1 instead.

It also fixes an ARM-only GCC warning.

- "'__force_align_arg_pointer__' attribute directive ignored". This is an
  x86-only attribute. Instead of disabling it on x86-64, instead enable it on
  i386 (which avoids enabling it uselessly on ARM).

--HG--
extra : rebase_source : 61015b7e48aebd58035fc222abf076e79a99a972
2015-09-17 17:11:27 -07:00
Matt Woodrow
f21e058613 Bug 1204106 - Use correct alpha blend modes for OVER in CompositorOGL. r=jrmuizel 2015-09-17 19:31:00 -04: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
f868aa65e7 Bug 1194923 - Call glFlush before glDeleteFramebuffers on Adreno 420 devices. r=snorp
There is an occasional driver crash on the nexus 6, and possibly other
Adreno 420 devices, which seems to occur in some circumstances after
calling glDeleteFramebuffers. Calling glFlush before
glDeleteFramebuffers prevents this. Add this workaround at least until
it is better known what is going on.
2015-09-17 04:41:00 +02:00
Randall Barker
a7e6f1f6ef Bug 1204932 - When C++APZ is enabled, elements that are zoomed with double tap should be centered. r=botond 2015-09-16 10:53:00 +02:00
Randall Barker
1075e0ad2c Bug 1204084 - Double tap gesture fails when tapping on a large element contained in an iframe or scrollable div. r=botond 2015-09-16 11:17:00 +02:00
Chris Lord
07467bcbc8 Bug 1201101 - Enable axis-locking over multiple APZCs. r=botond 2015-09-14 07:40:00 +02:00
Chris Lord
930f7b97f3 Bug 1201098 - Consume fling and overscroll velocity per-axis. r=botond 2015-09-16 01:49:00 +02: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
Thinker K.F. Li
577d814813 Bug 1097464 - Part 4 - Fix preserve3d wording for layer flags. r=roc 2015-09-17 03:31:00 +02:00
Thinker K.F. Li
67f398225c Bug 1097464 - Part 3 - Fix and add reftests. r=roc 2015-09-17 03:31:00 +02:00
Thinker K.F. Li
88a510d1f5 Bug 1097464 - Part 2 - Snap translation for 3d transforms. r=roc 2015-09-17 03:31:00 +02:00
Thinker K.F. Li
a4c2346c7e Bug 1097464 - Part 1 - Remove Z value from 3D transforms for D3D9. r=roc,matt.woodrow 2015-09-17 03:31:00 +02:00
Nicholas Nethercote
647b520991 Bug 1201135 - Rename pldhash.{h,cpp} to PLDHashTable.{h,cpp}. r=mccr8.
--HG--
rename : xpcom/glue/pldhash.cpp => xpcom/glue/PLDHashTable.cpp
rename : xpcom/glue/pldhash.h => xpcom/glue/PLDHashTable.h
extra : rebase_source : 06b9d30db96ed78500fd44d9c0b51609103508a3
2015-09-15 20:49:53 -07:00
Timothy Nikkel
1341b9b27d Bug 1204824. Make Matrix4x4::PreScale scale all values in the first three rows. r=bas 2015-09-16 23:39:09 -05:00
Botond Ballo
f6316bb39c Bug 1200063 - Rename MakeAPZCInstance to NewAPZCInstance for consistency. r=kats
--HG--
extra : source : acc5f6c432b709cf3519508579ae7076c6836a1f
2015-09-16 19:10:24 -04:00
Botond Ballo
376d8645a1 Bug 1200063 - Make sure TaskThrottler sends its pending repaint request eventually, even if it never receives a notification from the previous request. r=kats
This is important because the previous repaint can be a no-op, and those don't trigger notifications.

--HG--
extra : source : cb474b5a74ad026f7a1151ae8fd38cdfd538be7c
extra : intermediate-source : b4129db9a5e6a431f556fc2149131d975f3fc33d
2015-09-16 17:23:59 -04:00
Botond Ballo
73518fc4f5 Bug 1200063 - Add a generic implementation of nsITimerCallback that's usable with a lambda or other function object. r=kats
We can consider moving this to xpcom in the future.

--HG--
extra : source : 6511683402da8d3d893aecf6c39babab639a7daf
extra : intermediate-source : a84022dd2c07d269b6b4c6004a2ac4613486a760
2015-09-16 20:29:41 -04:00
Botond Ballo
3ec0663f3b Bug 1200063 - Share a paint throttler between APZCs in the same layers id. r=kats
In this process, TaskThrottler is made reference-counted.

--HG--
extra : source : 68295d4d1616e257732b8f2e8dd46c24debc8626
extra : intermediate-source : 2cd0c4caec06689c5325e23006d2cb14d40c5b5c
2015-09-16 14:45:07 -04:00
Botond Ballo
d84490b7db Bug 1200063 - Make APZCTreeManager the place where GetFrameTime() can be overridden. r=kats
--HG--
extra : source : b9e4b80438234e98f9304a6e29f0f4b9b8eb58a8
extra : intermediate-source : 3c88311ea92fef66479c08cd6b160de82d393249
2015-09-16 14:58:16 -04: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
Benoit Girard
2881f47a4c Bug 1189565 - Only factor in the async zoom change. r=kats
--HG--
extra : commitid : CjuuLbwyk5M
2015-09-16 13:42:24 -04:00
Chris Peterson
e7dc549743 Bug 1204400 - Fix -Wshadow warnings in gfx/thebes and suppress those from Skia headers. r=BenWa 2015-09-11 20:30:14 -07:00
Nicholas Nethercote
2ee4fd783b Bug 1121760 (part 6) - Move all remaining PL_DHash*() functions into PLDHashTable. r=poiru.
--HG--
extra : rebase_source : 3cdc975507170d783b02d70f7c7d95c6bf2e1bcd
2015-09-14 14:23:47 -07:00
Nicholas Nethercote
479244f7c9 Bug 1121760 (part 2) - Remove PL_DHashTableAdd(). r=poiru.
--HG--
extra : rebase_source : 41eb939bfb5c925cba58b1af57abce9a4e5fdb30
2015-09-14 14:23:12 -07:00
Nicholas Nethercote
fcfdd8f54b Bug 1121760 (part 1) - Remove PL_DHashTableSearch(). r=poiru.
--HG--
extra : rebase_source : 770e1f49a451ecbadd778e071b204611e27cf701
2015-05-21 00:34:25 -07:00
Botond Ballo
1f87f52eb8 Bug 1166301 - When applying an async adjustment to a fixed layer, only adjust its mask layer under the same circumstances as its clip rect. r=mattwoodrow
--HG--
extra : rebase_source : 711ec4146313ffa80e52303449d2529bde2c00d0
extra : source : 1981f6bcae100a38af7dc3aa9038f74390e6ef04
2015-08-28 13:57:00 -04:00
Botond Ballo
a1d5d090fe Bug 1166301 - Allow async scrolling to move the clip rects of fixed background layers. r=mattwoodrow
--HG--
extra : rebase_source : f176d9c355eeb4b7a88ca7ef3ececf03af2227cc
extra : source : 723c35828fbc080b6e372cfbbf187167db455156
2015-09-04 19:23:19 -04:00
Botond Ballo
f5f74997cd Bug 1166301 - Update an old comment in AsyncCompositionManager::AlignFixedAndStickyLayers. r=kats
--HG--
extra : rebase_source : b69104a407c62a3f25e708b172c8e51eac7e9295
extra : source : 2a98e76921bb905d750a2e36e6057a5bb6f4fd41
2015-08-28 15:21:01 -04:00
Botond Ballo
a22ee7711a Bug 1166301 - Store a flag on Layer to tell fixed background layers apart from fixed position layers. r=mattwoodrow
--HG--
extra : rebase_source : eaad2e8c7f85f20cc691353d9675611eee4733ee
extra : source : 33b55c6b3a48e3e9a2f19f498f56084d6905dfc1
2015-09-04 17:26:33 -04:00
Botond Ballo
5d157ca8b0 Bug 1166301 - Use the correct format flags for printing fixed position data in the layers dump. r=kats
--HG--
extra : rebase_source : 17752b971d1157f740e17cf4c0708c2228c0cec4
extra : source : 016c66b680b96acf5009ceefcb370d5d86660386
2015-09-04 15:57:50 -04:00
David Anderson
ea934017d9 Support all blend modes in the basic compositor. (bug 1203829 part 1, r=mattwoodrow) 2015-09-15 13:07:05 -07:00
Mason Chang
76b8c1d6e8 Bug 1160216 - Add a preference to force software vsync and set software vsync rate. r=kats 2015-09-15 08:13:57 -07:00
Bas Schouten
c39f9055e3 Bug 1182147: Ensure ImageHost does not attempt to call DrawQuad with an effect unsupported by the compositor. r=nical 2015-09-04 18:31:52 +00:00
David Anderson
b8fb04e7b8 Handle screen and multiply blend modes in the D3D11 compositor. (bug 1203829 part 4, r=mattwoodrow) 2015-09-15 01:04:37 -07:00
David Anderson
250032dd90 Refactor shader initialization in CompositorD3D11. (bug 1203829 part 3, r=mattwoodrow) 2015-09-15 01:04:17 -07:00
David Anderson
4dcdb71497 Compile shaders with newer fxc. (bug 1203829 part 2, r=mattwoodrow) 2015-09-15 01:04:09 -07:00
Nicholas Nethercote
9d68ee2953 Bug 1204277 - Disallow warnings in six more directories. r=glandium.
These are all conditional uses of ALLOW_COMPILER_WARNINGS=True that are no
longer necessary.

--HG--
extra : rebase_source : e654fa940aed18b1d5ef7b2bebb45bbef59cfd84
2015-09-14 21:16:37 -07:00