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

57 Коммитов

Автор SHA1 Сообщение Дата
Sebastian Hengst 087bd41f0f Backed out changeset 9badb2705567 (bug 1322650) 2017-05-05 18:54:09 +02:00
James Willcox a7f7a7b630 Bug 1322650 - Use SurfaceTexture for WebGL on Android in E10S r=jgilbert
The main advantage here is that it works cross-process.

MozReview-Commit-ID: 7YUTVB4Bydg
2017-05-05 08:56:28 -05:00
Edwin Flores 5dc1ef0755 Bug 925645 - Turn SharedSurface::mGL into a WeakPtr<> - r=jgilbert 2016-10-24 16:35:31 +01:00
Matt Woodrow 55f506db9f Bug 1281456 - Decouple TextureForwarder and CompositableForwarder. r=gw280 2016-09-27 16:22:20 +13:00
Jeff Gilbert 2f6562f729 Bug 1285692 - Add IsProducerAcquired(). - r=mtseng
MozReview-Commit-ID: 81Y5DAXtgeo
2016-08-18 14:06:23 -07:00
Milan Sreckovic 17dda1461b Bug 1272767: More graphics MOZ_CRASH-es getting GFX prefix. Also, follow up on bug 1270180 comments. r=mchang
MozReview-Commit-ID: 1rlHdDG4Cbw

--HG--
extra : rebase_source : 8bf84d2b1c4cc5bc48821b1eadbadf8edc6ce1ba
2016-05-13 16:34:41 -04:00
Nicolas Silva 644321f6b6 Bug 1256693 - Refer to ClientIPCAllocator instead of ISurfaceAllocator where it makes sense. r=sotaro 2016-03-21 15:18:20 +01:00
Jonathan Watt 2357eb85f9 Bug 1253094, part 2 - Stop using DebugOnly for class/struct members in gfx/. r=Bas
MozReview-Commit-ID: 7rDHRqNgQqL
2016-02-26 15:52:07 +00:00
Jeff Gilbert b66e705f39 Bug 1236762 - Simplify locking APIs for SharedSurface. - r=jrmuizel 2016-01-05 15:57:44 -08:00
Jamie Nicol 65912b35e8 Bug 1210444 - Set DEALLOCATE_CLIENT flag for EGLImage SharedSurfaceTextureClients. r=nical
SharedSurface_EGLImages are deallocated on the client side and are
unable to be recycled. This led to a race condition where CanvasClient
would free a TextureClient, destroying its underlying data, but
ImageHost might attempt to composite the corresponding TextureHost
before receiving a replacement to use instead.

Give SharedSurface an interface for its backends to specify any texture
flags that they require a TextureClient to set, and ensure that
DEALLOCATE_CLIENT is set for SharedSurface_EGLImage
SharedSurfaceTextureClients. This ensures that texture data is destroyed
synchronously and, importantly, after any outstanding ipdl messages have
been delivered. This guarantees that ImageHost has received a new
TextureHost to composite before the previous TextureHost's data is
destroyed.
2015-10-19 17:26:26 +01:00
Nathan Froyd 01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Nathan Froyd 583afa0965 Bug 1207245 - part 3 - switch all uses of mozilla::RefPtr<T> to nsRefPtr<T>; r=ehsan
This commit was generated using the following script, executed at the
top level of a typical source code checkout.

 # Don't modify select files in mfbt/ because it's not worth trying to
 # tease out the dependencies currently.
 #
 # Don't modify anything in media/gmp-clearkey/0.1/ because those files
 # use their own RefPtr, defined in their own RefCounted.h.
find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    grep -v 'mfbt/RefPtr.h' | \
    grep -v 'mfbt/nsRefPtr.h' | \
    grep -v 'mfbt/RefCounted.h' | \
    grep -v 'media/gmp-clearkey/0.1/' | \
    xargs perl -p -i -e '
 s/mozilla::RefPtr/nsRefPtr/g; # handle declarations in headers
 s/\bRefPtr</nsRefPtr</g; # handle local variables in functions
 s#mozilla/RefPtr.h#mozilla/nsRefPtr.h#; # handle #includes
 s#mfbt/RefPtr.h#mfbt/nsRefPtr.h#;       # handle strange #includes
'

 # |using mozilla::RefPtr;| is OK; |using nsRefPtr;| is invalid syntax.
find . -name '*.cpp' -o -name '*.mm' | xargs sed -i -e '/using nsRefPtr/d'

 # RefPtr.h used |byRef| for dealing with COM-style outparams.
 # nsRefPtr.h uses |getter_AddRefs|.
 # Fixup that mismatch.
find . -name '*.cpp' -o -name '*.h'| \
    xargs perl -p -i -e 's/byRef/getter_AddRefs/g'
2015-10-18 00:40:10 -04:00
Morris Tseng dd98b66ab0 Bug 709490 - Part 9: Readback without blocking main thread. r=jgilbert
--HG--
extra : rebase_source : 83fe8ec524c061622465221f51e15747e30420fa
2015-10-12 11:21:03 +08:00
Morris Tseng acf60f0d3e Bug 709490 - Part 1: Let ImageBridge transfer CanvasClient async. r=nical
Thanks Jon Morton [:jmorton] (jonanin@gmail.com) for polishing patches.

--HG--
extra : rebase_source : f4ec56dc106357e30660343166ff51e7d9dc0c62
2015-10-12 11:21:02 +08:00
Wes Kocher c1750b75c7 Backed out 11 changesets (bug 709490) for webgl-color-test.html failures a=backout
Backed out changeset fc04c5d43550 (bug 709490)
Backed out changeset cd8f9410d335 (bug 709490)
Backed out changeset 6e687c9143c1 (bug 709490)
Backed out changeset 9b20f2c833c4 (bug 709490)
Backed out changeset f9d130aea88e (bug 709490)
Backed out changeset fc513b410949 (bug 709490)
Backed out changeset acf6220b431a (bug 709490)
Backed out changeset 9bceaf913791 (bug 709490)
Backed out changeset 37fba20111e2 (bug 709490)
Backed out changeset 2285ce1596b8 (bug 709490)
Backed out changeset fb4e09920569 (bug 709490)
2015-10-05 08:28:25 -07:00
Morris Tseng 27bcae10e8 Bug 709490 - Part 9: Readback without blocking main thread. r=jgilbert
--HG--
extra : rebase_source : a8fc936aa9a9096f70f5e58b3b0450943f7215ba
2015-10-05 10:50:16 +08:00
Morris Tseng 298e6642c3 Bug 709490 - Part 1: Let ImageBridge transfer CanvasClient async. r=nical
Thanks Jon Morton [:jmorton] (jonanin@gmail.com) for polishing patches.

--HG--
extra : rebase_source : 9833dd57592081737ce74ad5b6ba8441a243ca0b
2015-10-05 10:50:15 +08:00
Wes Kocher 8631de9c2b Backed out 13 changesets (bug 709490) for android webgl-color-test.html failures
Backed out changeset 5be7514914b6 (bug 709490)
Backed out changeset 04b6f94fbe8a (bug 709490)
Backed out changeset 00c0e85dd8cd (bug 709490)
Backed out changeset 221385b7b81a (bug 709490)
Backed out changeset ecc38c18734f (bug 709490)
Backed out changeset 22878c936384 (bug 709490)
Backed out changeset 0edcbb60eee3 (bug 709490)
Backed out changeset 5feceec2014b (bug 709490)
Backed out changeset 835b655cb873 (bug 709490)
Backed out changeset 6fbb4a3f8cf7 (bug 709490)
Backed out changeset a5f8646fa156 (bug 709490)
Backed out changeset 2ae1386916b3 (bug 709490)
Backed out changeset 6b29a2a0a8fb (bug 709490)
2015-09-29 08:57:36 -07:00
Morris Tseng 7c548ee466 Bug 709490 - Part 9: Readback without blocking main thread, r=jgilbert 2015-09-29 11:51:25 +01:00
Morris Tseng 6c605d106d Bug 709490 - Part 1: Let ImageBridge transfer CanvasClient async, r=nical 2015-09-29 11:51:23 +01:00
Birunthan Mohanathas a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Nathan Froyd 974d8120f2 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
Jeff Gilbert ee12c03986 Bug 1144906 - Add accel E10S backend for WebGL compositing. - r=jrmuizel,mattwoodrow,nical,sotaro 2015-06-04 17:15:38 -07:00
Wes Kocher 77bc735a23 Backed out changeset c4d1692d88ee (bug 1144906) for OSX m(gl) permaorange 2015-06-04 16:50:59 -07:00
Jeff Gilbert 891a5c7f86 Bug 1144906 - Add accel E10S backend for WebGL compositing. - r=jrmuizel,mattwoodrow,nical,sotaro 2015-06-04 14:21:32 -07:00
Wes Kocher 5ee1a8327e Backed out changeset 29bd04fc57f0 (bug 1144906) for b2g m12 orange
--HG--
extra : amend_source : 79faafb4230715cf6af79b452d121d1e7b58e665
2015-05-28 17:08:53 -07:00
Jeff Gilbert ec631286de Bug 1144906 - Fast WebGL compositing on E10S. - r=jrmuizel,mattwoodrow,nical 2015-05-28 14:51:39 -07:00
Andrew McCreight 0c176ddcff Bug 1062479 - Use static strings for WeakReference type names. r=ehsan 2015-04-24 09:43:01 -07:00
Dan Glastonbury 63a4eb24e5 Bug 896693 - Work around glCopyTexImage2D errors on framebuffers backed by IOSurface. r=jgilbert 2015-03-24 12:16:21 +10:00
Jeff Gilbert 0c1b1063c8 Bug 1089981 - Reftest both initial and steady-state frame. - r=kamidphish 2015-01-14 18:04:50 -08:00
Ehsan Akhgari ca5c6ca575 Bug 1109699 - Fix more bad implicit constructors in gfx and image; r=jrmuizel 2014-12-10 17:48:11 -05:00
Jeff Muizelaar 6e632ada07 Bug 1070308. Add Acquire and Release semantics to SharedSurface. r=jgilbert
This is needed for D3D11 keyed mutex support. The added assertions
also ensure we're doing things at the right times.

--HG--
extra : rebase_source : 7af4dccca745ee62e4ae97972de8a8eb83f2e8d3
2014-10-09 16:33:22 -04:00
Jeff Gilbert 82bb894465 Bug 1081363 - Don't do readback eagerly in ShSurf_Basic. - r=kamidphish 2014-10-10 14:36:17 -07:00
jdashg 9b7291ca7a Bug 1066280 - Remove SurfaceStream. - r=kamidphish,mattwoodrow 2014-10-07 21:15:39 -07:00
jdashg bd7ba17b6a Bug 1066280 - Add TexClient for ShSurf. - r=kamidphish,mattwoodrow
From a7c09c0f17e19fd2254cb1d7a8ddd07b327151ad Mon Sep 17 00:00:00 2001
---
 gfx/2d/HelpersCairo.h                   |   2 +
 gfx/gl/GLContext.cpp                    |   3 +-
 gfx/gl/GLContext.h                      |   2 -
 gfx/gl/GLReadTexImageHelper.cpp         |  21 +--
 gfx/gl/GLReadTexImageHelper.h           |   6 +
 gfx/gl/GLScreenBuffer.h                 |   6 +-
 gfx/gl/ScopedGLHelpers.cpp              |  40 +++++
 gfx/gl/ScopedGLHelpers.h                |  26 ++-
 gfx/gl/SharedSurface.cpp                |  94 +++++++++++
 gfx/gl/SharedSurface.h                  |  19 +++
 gfx/gl/SharedSurfaceIO.h                |   4 +
 gfx/layers/CopyableCanvasLayer.cpp      |   3 +-
 gfx/layers/client/CanvasClient.cpp      | 276 +++++++++++++++++++++++++++++---
 gfx/layers/client/CanvasClient.h        |  34 ++++
 gfx/layers/client/ClientCanvasLayer.cpp |  21 ++-
 gfx/layers/client/ClientCanvasLayer.h   |   9 +-
 gfx/layers/client/TextureClient.cpp     |  35 ++++
 gfx/layers/client/TextureClient.h       |  85 +++++++++-
 gfx/layers/composite/TextureHost.cpp    | 131 ++++++++++++++-
 gfx/layers/composite/TextureHost.h      |  64 ++++++++
 gfx/layers/d3d10/CanvasLayerD3D10.cpp   |   5 +-
 gfx/layers/ipc/LayersSurfaces.ipdlh     |   5 +
 22 files changed, 828 insertions(+), 63 deletions(-)
2014-10-07 21:01:51 -07:00
jdashg ff193dd037 Bug 1066280 - Implement ShSurfHandle. - r=kamidphish
From 09b5a1bc279f051e1e491b33e20a5b492ea7ef51 Mon Sep 17 00:00:00 2001
---
 gfx/gl/SharedSurface.cpp | 10 ++++++++++
 gfx/gl/SharedSurface.h   | 38 +++++++++++++++++++++++++++++++++++++-
 2 files changed, 47 insertions(+), 1 deletion(-)
2014-10-07 20:59:37 -07:00
Jeff Gilbert c520457871 Bug 1060085 - Add entrypoints, use NV_fence in ANGLE ShSurfs. - r=kamidphish 2014-09-02 15:15:41 -07:00
Jeff Gilbert fb6a858464 Bug 1049957 - Fixes from reviews. - r=kamidphish 2014-08-15 17:38:09 -07:00
Jeff Gilbert 00cbda0f58 Bug 1049957 - Use custom std::queue wrapper instead of std::queue<UniquePtr<T>>. - r=kamidphish 2014-08-15 17:38:08 -07:00
Jeff Gilbert 462da9f9df Bug 1049957 - Fix compilation errors. - r=kamidphish 2014-08-15 17:38:08 -07:00
Jeff Gilbert ebe1200d76 Bug 1049957 - Use UniquePtr for SharedSurface, SurfaceFactory. - r=kamidphish 2014-08-15 17:38:08 -07:00
Jeff Gilbert 11ccb72d46 Bug 1037704 - Add polling support to ShSurf. - r=mattwoodrow 2014-08-04 22:10:47 -07:00
Jeff Gilbert f032a2a672 Bug 1037151 - Merge SharedSurface_GL into SharedSurface. - r=mattwoodrow 2014-07-11 15:10:49 -07:00
Sotaro Ikeda 582a7928b4 Bug 950079 - Add release Fence handling to SurfaceStream on gonk 2014-05-14 15:40:15 -07:00
Jeff Gilbert 8f53ae3993 Bug 976813 - Separate ShSurf::Texture for Prod and Cons. - r=snorp 2014-03-10 19:08:49 -07:00
Andreas Pehrson bbf9fe777c Bug 877115 - [Moz2Dify] Part 3. Change gfxIntSize to gfx::IntSize in GLContext::OffscreenSize and dependendent classes. r=nical 2013-12-10 17:11:58 +01:00
Wes Kocher df8b1437b6 Backed out 6 changesets (bug 877115) for mochitest-1 and reftest orange on this CLOSED TREE
Backed out changeset 65ad9d8860d6 (bug 877115)
Backed out changeset bf8095c168fb (bug 877115)
Backed out changeset 290ad5863615 (bug 877115)
Backed out changeset 4488ec28910e (bug 877115)
Backed out changeset 45f8859c6fd6 (bug 877115)
Backed out changeset 111cc426fa9e (bug 877115)
2013-12-16 16:33:07 -08:00
Andreas Pehrson 2fdd39a52c Bug 877115 - [Moz2Dify] Part 3. Change gfxIntSize to gfx::IntSize in GLContext::OffscreenSize and dependendent classes. r=nical 2013-12-10 17:11:58 +01:00
Ehsan Akhgari ef4b479714 Bug 872127 - Part 2: Replace mozilla/StandardInteger.h with stdint.h; r=Waldo,ted 2013-07-30 10:25:31 -04:00
Matt Woodrow 14d7db3093 Bug 875232 - Make most of the GLContext helper functions take a texture target parameter so that we can support GL_TEXTURE_RECTANGLE. r=jgilbert 2013-07-17 23:24:15 -04:00