Commit Graph

146 Commits

Author SHA1 Message Date
Sotaro Ikeda
93b0de6600 Bug 1204895 - Add fence handling to AutoRemoveTexture on gonk r=nical 2015-09-17 07:22:41 -07:00
Matt Woodrow
470d1c06dd Bug 1135935 - Part 6: Wait for the compositor to stop using textures before recycling them. r=jrmuizel 2015-08-13 15:18:53 -04:00
David Anderson
be559736b8 Remove the backend flag to TextureClient::CreateForDrawing. (bug 1183910 part 9, r=mattwoodrow) 2015-08-06 17:27:36 -07:00
Carsten "Tomcat" Book
55da5176e9 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
062db27417 Remove the backend flag to TextureClient::CreateForDrawing. (bug 1183910 part 9, r=mattwoodrow) 2015-08-06 02:41:07 -07:00
Robert O'Callahan
7950d92d73 Bug 1143575. Reimplement ImageContainer::GetPaintCount to be composition-aware. r=nical 2015-06-15 14:45:59 +12:00
Robert O'Callahan
8411bf79f8 Bug 1143575. Clarify code by renaming method to ClearCurrentImageFromImageBridge. r=nical
We need to make it clear that ClearCurrentImage is really an internal method
of the ImageContainer implementation, not a method that ImageContainer users
should call.
2015-03-26 14:17:13 +13:00
Robert O'Callahan
e99994b418 Bug 1143575. Remove ClearAllImagesExceptFront because it doesn't do anything. r=nical
ImageBridgeChild::FlushAllImages with aExceptFront==true does absolutely
nothing, so remove the parameter and remove all callers which pass true.
2015-03-26 14:08:30 +13:00
Robert O'Callahan
1bebcba55f Bug 1143575. Route ImageCompositeNotifications to ImageContainers. r=nical
For frame statistics to work properly, we have to notify an ImageContainer
when it has been composited. This requires a few changes, which have
been lumped together in this patch:
-- Create PImageContainer and ImageContainerParent/ImageContainerChild.
-- Add mFrameID and mProducerID everywhere we're passing around images.
-- Route composition notifications from the compositor back to
ImageContainerChild.
2015-07-06 15:02:26 +12:00
Robert O'Callahan
709fca5d74 Bug 1143575. Make ImageClientSingle handle multiple textures. r=nical 2015-07-03 22:37:03 +12:00
Robert O'Callahan
c4a9604528 Bug 1143575. Factor out AsyncTransactionWaiter from AsyncTransactionTracker so we'll be able to wait for multiple AsyncTransactionTrackers. r=nical,sotaro 2015-05-12 15:36:49 +12:00
Robert O'Callahan
2acfed6eb6 Bug 1143575. Fix some code formatting. r=nical 2015-03-20 16:46:29 +13:00
Robert O'Callahan
5f6e2ceb3f Bug 1143575. ImageClient::UpdateImage should not return false when there's no image, because recreating the ImageClient won't help. r=nical 2015-03-19 21:06:27 +13:00
Robert O'Callahan
2dba69a637 Bug 1143575. Remove ImageClientBridge::Updated. r=nical 2015-03-19 21:00:52 +13:00
Robert O'Callahan
a4faa1ea5e Bug 1143575. Replace ImageClientSingle::UpdateImage's use of Image serial numbers with ImageContainer state generation counters, and switch it to use ImageContainer::GetCurrentImages. r=nical
When ImageContainer and ImageClient are managing a list of images, the
individual Image serial numbers are no longer enough to detect whether the
state has changed.
2015-05-12 12:56:09 +12:00
Robert O'Callahan
c894f75130 Bug 1143575. Pass a picture rect with OpUseOverlaySource and OpUseTexture, and eliminate OpUpdatePictureRect. r=nical
The picture rect logically belongs with the texture, and later patches will
make OpUseTexture take multiple textures, each of which needs its own
picture rect.
2015-07-04 10:52:42 +12:00
Robert O'Callahan
c2b59dafca Bug 1143575. Move mLayer from ImageClientBridge up into its superclass ImageClient. r=nical
This simplifies code slightly.
2015-03-25 22:02:04 +13:00
Nathan Froyd
92a8124fef Bug 1161627 - part 2 - machine-convert TemporaryRef<T> to already_AddRefed<T>; r=ehsan
This conversion was done with the script:

  find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl' | \
    egrep -v 'cairo-win32-refptr.h|RefPtr.h|TestRefPtr.cpp' | \
    xargs sed -i -e 's/mozilla::TemporaryRef</already_AddRefed</g' \
                 -e 's/TemporaryRef</already_AddRefed</g'

Manual fixups were performed in the following instances:

- We handled mfbt/RefPtr.h manually so as to not convert TemporaryRef itself
  into already_AddRefed.

- The following files had explicit Move() calls added to make up for the lack
  of a copy constructor on already_AddRefed:

  dom/base/ImageEncoder.cpp
  dom/media/MediaTaskQueue.{h,cpp}
  dom/media/webaudio/PannerNode.cpp

- A redundant overload for MediaTaskQueue::Dispatch was deleted.

- A few manual fixups were required in mfbt/tests/TestRefPtr.cpp.

- Comments, using declarations, and forward declarations relating to
  TemporaryRef in dom/canvas/ and gfx/layers/ were changed to refer to
  already_AddRefed.
2015-06-17 10:00:52 -04:00
Nathan Froyd
43cddcfc0d Bug 1160485 - remove implicit conversion from RefPtr<T> to TemporaryRef<T>; r=ehsan
Having this implicit conversion means that we can silently do extra
refcounting when it's completely unnecessary.  It's also an obstacle to
making RefPtr more nsRefPtr-like, so let's get rid of it.
2015-05-01 09:14:16 -04:00
Thibaud Backenstrass
0513f5db71 Bug 1158122 - Remove all occurences of nsIntRect in gfx/layers/client. r=nical 2015-05-07 11:07:47 +02:00
Nicolas Silva
8d2e67b41a Bug 1147894 - Remove the redundant OpUpdateTexture IPDL message. r=sotaro 2015-03-27 11:16:22 +01:00
Matt Woodrow
288802e075 Bug 1138967 - Part 1: Remove ISharedImage. r=nical 2015-03-19 10:15:38 +13:00
Matt Woodrow
76e880718b Bug 1131638 - Discard video frames that fail to sync. r=cpearce 2015-03-12 22:13:23 +13:00
Milan Sreckovic
a5610e14a3 Bug 1140113 - Catch direct (and some indirect) callers of CreateDrawTarget* and deal with failure. r=mstange 2015-03-09 15:48:20 -04:00
Jeff Gilbert
e2b7d174dd Bug 1100699 - Use OriginPos instead of isInverted. - r=mattwoodrow,snorp 2014-11-17 17:02:19 -08:00
Ethan Lin
0e3c3ed07d Bug 1042696 - Set allocator to TextureClient from constructor. r=nical 2014-12-22 03:49:00 -05:00
Bas Schouten
55948b2feb Bug 1088414: Use a single synchronization texture for D3D11. r=jrmuizel
This patch adds a cross platform 'sync object' that is used to synchronize the drawing of individual textures. For the D3D11 implementation all textures that are written to will have one pixel copied into the D3D11 sync texture while holding its lock. The compositor will then, before composition acquire and release sync once, this should ensure all drawing on the content side has completed.
2014-12-13 01:50:47 +00:00
Wes Kocher
84deca1a09 Backed out changeset 2cd43e5ae2c1 (bug 1088414) for breaking non-Windows builds on a CLOSED TREE 2014-12-12 18:11:59 -08:00
Bas Schouten
0ca40e581f Bug 1088414: Use a single synchronization texture for D3D11. r=jrmuizel
This patch adds a cross platform 'sync object' that is used to synchronize the drawing of individual textures. For the D3D11 implementation all textures that are written to will have one pixel copied into the D3D11 sync texture while holding its lock. The compositor will then, before composition acquire and release sync once, this should ensure all drawing on the content side has completed.
2014-12-13 01:50:47 +00:00
James Willcox
7fcdaf7a42 Bug 1097116 - Add fencing and better lifetime management for EGLImage Images r=jgilbert 2014-11-26 15:16:07 -06:00
Nicolas Silva
50eb75002d Bug 1101636 - Cleanup the CompositorType enum. r=jrmuizel 2014-11-26 02:00:34 +01:00
Nicolas Silva
bde710ee12 Bug 1101552 - Remove the double-buffered ImageClient. r=sotaro 2014-11-20 19:49:51 +01:00
chiajung hung
eab2ccdcf7 Bug 1062475 - [Camera] Camera button highlight appears as a square. r=sotaro 2014-10-20 02:49:00 -04:00
Nicolas Silva
ad8d851fb8 Bug 1072411 - Remove useless format convertion code in ImageClient. r=jrmuizel 2014-09-24 13:50:28 -04:00
Jeff Gilbert
4943991010 Bug 1037147 - Remove SharedTextureHandle and friends r=mattwoodrow,snorp 2014-09-17 08:13:29 -05:00
James Willcox
e07d73a455 Back out a84f9edfe968 for bustage 2014-09-12 14:01:26 -05:00
Jeff Gilbert
63c2e0ad7f Bug 1037147 - Replace SharedTextureHandle with a TextureClient variant r=mattwoodrow,snorp 2014-09-12 13:39:20 -05:00
chiajung hung
bcd394f716 Bug 1002823 - [Stingray] Add a new kind of image layer without graphic buffer for overlaying video input. r=nical 2014-08-18 22:14:00 -04:00
Nicolas Silva
208aa83c35 Bug 1040028 - Create and allocate in one step when we used to call CreateBufferTextureClient and CreateTextureClientForDrawing. r=sotaro 2014-07-22 14:17:31 +02:00
Nicolas Silva
985c0c65af Bug 1027601 - Create and allocate TextureClient in a single step in some of the cases. r=sotaro 2014-07-10 13:45:40 +02:00
Carsten "Tomcat" Book
7bf031036d Backed out changeset e072a46f0b6a (bug 1027601) for test bustages on a CLOSED TREE 2014-07-09 13:23:08 +02:00
Nicolas Silva
2b5d60e4a8 Bug 1027601 - Create and allocate TextureClients in a single step in some cases. r=sotaro 2014-07-09 11:59:49 +02:00
Nicolas Silva
dc075c6966 Bug 1023350 - Rename TextureClient::GetAsDrawTarget into TextureClient::BorrowDrawTarget and fix TextureClientX11. r=bjacob 2014-06-11 14:57:58 -04:00
Sotaro Ikeda
91eec7e306 Bug 1020003 - Always use AsyncTransactionTracker on ImageBridge on gonk r=nical 2014-06-05 08:39:45 -07:00
Sotaro Ikeda
bfb70c0a66 Bug 1019877 - fix deadlock at AsyncTransactionTrackersHolder r=nical 2014-06-05 07:24:05 -07:00
Sotaro Ikeda
4cc6bc8a77 Bug 1016805 - fix AsyncTransactionTracker handling r=nical 2014-06-04 15:11:00 -07:00
Ed Morley
a8964fbf82 Backed out changeset d37aa03d00fb (bug 1016805) for OS X 10.6 reftest failures; CLOSED TREE 2014-06-04 17:52:55 +01:00
Sotaro Ikeda
9c96618f5d Bug 1016805 - fix AsyncTransactionTracker handling r=nical 2014-06-04 07:49:14 -07:00
Sotaro Ikeda
272c9282a9 Bug 1006957 - Handle buffer ownership between SurfaceStream and CanvasClient r=nical 2014-05-24 09:14:45 -07:00
Steve Fink
278d129227 Backed out changeset 171edffe0641 (bug 1006957) for crash at BaseAutoLock<mozilla::Mutex>::BaseAutoLock(mozilla::Mutex&) from layers::AsyncTransactionTrackersHolder::ClearAllAsyncTransactionTrackers on a CLOSED TREE 2014-05-23 21:16:02 -07:00