Commit Graph

55 Commits

Author SHA1 Message Date
Matt Woodrow
2dabc216dc Bug 1281456 - Decouple TextureForwarder and CompositableForwarder. r=gw280 2016-09-27 16:22:20 +13:00
Kan-Ru Chen
a9b19d0584 Bug 1297276 - Rename mfbt/unused.h to mfbt/Unused.h for consistency. r=froydnj
The patch is generated from following command:

  rgrep -l unused.h|xargs sed -i -e s,mozilla/unused.h,mozilla/Unused.h,

MozReview-Commit-ID: AtLcWApZfES
2016-08-24 14:47:04 +08:00
Jeff Gilbert
676b92ca26 Bug 1285692 - Add IsProducerAcquired(). - r=mtseng
MozReview-Commit-ID: 81Y5DAXtgeo
2016-08-18 14:06:23 -07:00
Jeff Gilbert
c3f06288b1 Bug 1250710 - Update usages of ScopedPackAlignment. - r=jrmuizel
MozReview-Commit-ID: DgngFxBu8kn
2016-07-17 21:44:33 -07:00
Sotaro Ikeda
cc18201e0b Bug 1252835 - Make TextureHost recycling implicit r=nical 2016-06-15 04:28:10 -07:00
eyim
e2c2b0b56c Bug 1277027 - fix MOZ_CRASH to have GFX prefix in webGL code r=BenWa,milan
MozReview-Commit-ID: FjLA9xNH3zD
2016-06-06 11:17:23 -04:00
Nicolas Silva
000ef2da39 Bug 1256693 - Refer to ClientIPCAllocator instead of ISurfaceAllocator where it makes sense. r=sotaro 2016-03-21 15:18:20 +01:00
Edwin Flores
5799a7ade0 Bug 1224199 - Don't make the TextureClient wait for compositor recycle if the GLContext is shutting down - r=nical 2016-03-07 11:51:12 +00:00
Jeff Gilbert
1fdaa97a04 Bug 1236762 - Simplify locking APIs for SharedSurface. - r=jrmuizel 2016-01-05 15:57:44 -08:00
Milan Sreckovic
b8ea2e4f01 Bug 1219494 - Part 3 gfx/gl with gfxCrash. r=mchang 2015-12-10 13:01:00 +01:00
Nicolas Silva
f4a6dd5aad Bug 1200595 - SharedSurface TextureData implementation. r=jgilbert 2015-11-20 14:24:55 +01:00
Wes Kocher
76bed94f9a Backed out 12 changesets (bug 1200595) for b2g mochitest crashes in SharedBufferManagerParent CLOSED TREE
Backed out changeset cf8cf1a039dd (bug 1200595)
Backed out changeset 65da564f952c (bug 1200595)
Backed out changeset 7663208f1582 (bug 1200595)
Backed out changeset fc1fbb97c8eb (bug 1200595)
Backed out changeset 3ad5a4c457fe (bug 1200595)
Backed out changeset add3fe9afc0c (bug 1200595)
Backed out changeset 68aba6b39588 (bug 1200595)
Backed out changeset ab326c34f1cf (bug 1200595)
Backed out changeset ed34bc528a1b (bug 1200595)
Backed out changeset 0dc93424546c (bug 1200595)
Backed out changeset 8cc12f12f3d1 (bug 1200595)
Backed out changeset bb84403701b7 (bug 1200595)
2015-11-24 10:07:02 -08:00
Nicolas Silva
9459eaa68d Bug 1200595 - SharedSurface TextureData implementation. r=jgilbert 2015-11-20 14:24:55 +01:00
Carsten "Tomcat" Book
f2da327ad7 Backed out 13 changesets (bug 1200595) for possibly breaking Reftest [TC] Crashtest tc-R on a CLOSED TREE
Backed out changeset e7278af0a484 (bug 1200595)
Backed out changeset c13228f84d85 (bug 1200595)
Backed out changeset 4b88e8a3d8af (bug 1200595)
Backed out changeset e55376bd2cf8 (bug 1200595)
Backed out changeset 9c27c8e2c021 (bug 1200595)
Backed out changeset a369a2983ceb (bug 1200595)
Backed out changeset 09e71ba15ea8 (bug 1200595)
Backed out changeset b555b130d439 (bug 1200595)
Backed out changeset 6819f6d82287 (bug 1200595)
Backed out changeset a8cdfbf443d8 (bug 1200595)
Backed out changeset 0092c9d7a86b (bug 1200595)
Backed out changeset 6dc38a1e6073 (bug 1200595)
Backed out changeset fe2164aa1468 (bug 1200595)
2015-11-20 16:55:26 +01:00
Nicolas Silva
ea97113cfd Bug 1200595 - SharedSurface TextureData implementation. r=jgilbert 2015-11-20 14:24:55 +01:00
Birunthan Mohanathas
ac37dec517 Bug 1219392 - Capitalize mozilla::unused to avoid conflicts. r=froydnj 2015-11-02 07:53:26 +02:00
Jamie Nicol
c57c13ae0b 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
4e6d8f6705 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
2015-10-18 01:24:48 -04:00
Nathan Froyd
bf7f6dda03 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
5d262e4409 Bug 709490 - Part 1: Let ImageBridge transfer CanvasClient async. r=nical
Thanks Jon Morton [:jmorton] (jonanin@gmail.com) for polishing patches.
2015-10-12 11:21:02 +08:00
Wes Kocher
bbd458236d 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
f3a9959ded Bug 709490 - Part 1: Let ImageBridge transfer CanvasClient async. r=nical
Thanks Jon Morton [:jmorton] (jonanin@gmail.com) for polishing patches.
2015-10-05 10:50:15 +08:00
Wes Kocher
20f2b1dd4d 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
276c20ec9e Bug 709490 - Part 1: Let ImageBridge transfer CanvasClient async, r=nical 2015-09-29 11:51:23 +01:00
Sotaro Ikeda
a1de53e7a8 Bug 1172719 - Fix SharedSurface fence handling on gonk r=jgilbert,nical 2015-09-21 07:21:52 -07:00
Jeff Gilbert
b1f1e1a811 Bug 1182371 - Misc WebGL cleanup. - r=kamidphish 2015-07-14 17:37:28 -07:00
Birunthan Mohanathas
a29151dc87 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
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
Jeff Gilbert
b9ee920350 Bug 1144906 - Add accel E10S backend for WebGL compositing. - r=jrmuizel,mattwoodrow,nical,sotaro 2015-06-04 17:15:38 -07:00
Wes Kocher
c801883c90 Backed out changeset c4d1692d88ee (bug 1144906) for OSX m(gl) permaorange 2015-06-04 16:50:59 -07:00
Jeff Gilbert
f857abecd5 Bug 1144906 - Add accel E10S backend for WebGL compositing. - r=jrmuizel,mattwoodrow,nical,sotaro 2015-06-04 14:21:32 -07:00
Wes Kocher
e3c99b1002 Backed out changeset 29bd04fc57f0 (bug 1144906) for b2g m12 orange 2015-05-28 17:08:53 -07:00
Jeff Gilbert
1e6d621331 Bug 1144906 - Fast WebGL compositing on E10S. - r=jrmuizel,mattwoodrow,nical 2015-05-28 14:51:39 -07:00
Nathan Froyd
3c715f85db Bug 1116905 - part 3 - remove dependence on implicit conversion from T* to TemporaryRef<T>, gfx changes; r=jrmuizel 2015-04-30 15:20:30 -04:00
Sotaro Ikeda
6dbd426400 Bug 1142071 - Re-add WaitForBufferOwnership() r=jgilbert 2015-03-11 14:10:24 -07:00
Jeff Gilbert
e6e82968e6 Bug 1089981 - Reftest both initial and steady-state frame. - r=kamidphish 2015-01-14 18:04:50 -08:00
Ehsan Akhgari
0e8db70346 Bug 1109699 - Fix more bad implicit constructors in gfx and image; r=jrmuizel 2014-12-10 17:48:11 -05:00
Mike Hommey
929ef6ecac Fixup bug 1084696 on a busted tree. r=me 2014-10-18 16:14:45 +09:00
Jeff Gilbert
91c8e09dbf Bug 1084696 - Actually use the RAII helper for locking the DrawTarget. - r=kamidphish 2014-10-17 21:31:27 -07:00
Jeff Muizelaar
3c55dc87ae 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.
2014-10-09 16:33:22 -04:00
Jeff Gilbert
8daf00bf42 Bug 1081363 - Don't do readback eagerly in ShSurf_Basic. - r=kamidphish 2014-10-10 14:36:17 -07:00
jdashg
e48648f8ea 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
442354b460 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
79eee1e134 Bug 1060085 - Add entrypoints, use NV_fence in ANGLE ShSurfs. - r=kamidphish 2014-09-02 15:15:41 -07:00
Jeff Gilbert
e37738a7a1 Bug 1049957 - Fixes from reviews. - r=kamidphish 2014-08-15 17:38:09 -07:00
Jeff Gilbert
a35b5c1115 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
4237c2e5cb Bug 1049957 - Use UniquePtr for SharedSurface, SurfaceFactory. - r=kamidphish 2014-08-15 17:38:08 -07:00
Jeff Gilbert
f99166a512 Bug 1045955 - Style fix. - r=kamidphish 2014-08-07 19:03:25 -07:00
Jeff Gilbert
e9a9e7bc3d Bug 1037151 - Merge SharedSurface_GL into SharedSurface. - r=mattwoodrow 2014-07-11 15:10:49 -07:00
Jeff Gilbert
7773923ba2 Bug 976813 - Separate ShSurf::Texture for Prod and Cons. - r=snorp 2014-03-10 19:08:49 -07:00