Commit Graph

1259 Commits

Author SHA1 Message Date
Benoit Girard
f8f963415c Bug 618898 - Part 1: Add WGL_NV_DX_interop. r=jgilbert
--HG--
extra : commitid : FJV7vRoMesT
2015-10-08 16:36:58 -04: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
Bill Gianopoulos
3ac18fde52 Bug 1213339 - Fix logic in WantsSmallTiles. r=nical
--HG--
extra : rebase_source : 8affe1d0e34f452defc7ba95cd2c4f354ba7d8df
2015-10-15 21:01:42 -04:00
Chris Peterson
7aaa6c74c3 Bug 1215892 - Fix clang's -Wimplicit-fallthrough warnings in gfx. r=BenWa
gfx/gl/GLBlitHelper.cpp:395:13 [-Wimplicit-fallthrough] unannotated fall-through between switch labels

gfx/layers/apz/src/AsyncPanZoomController.cpp:1087:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
gfx/layers/apz/src/AsyncPanZoomController.cpp:1196:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
gfx/layers/apz/src/GestureEventListener.cpp:411:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
gfx/layers/apz/util/APZEventState.cpp:292:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
gfx/layers/apz/util/APZEventState.cpp:295:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels

widget/GfxInfoBase.cpp:1015:9 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
2015-10-17 22:57:38 -07:00
Dan Glastonbury
c5f6855012 Bug 1207205 - Remove fGetActiveUniformName. r=jrmuizel 2015-10-19 11:23:45 +10: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
24726cbcb0 Bug 709490 - Part 8: Copy to a temp texture when readback from IOSurface. r=jgilbert
--HG--
extra : rebase_source : 32ad14acd4dd3857e480fdc279528dec2e89d47c
2015-10-12 11:21:03 +08:00
Morris Tseng
a8eab58fba Bug 709490 - Part 7: If layer is not available, fallback to BasicCanvasLayer. r=roc
--HG--
extra : rebase_source : cc7761567d60d652b8d0bc9cab04cf310ef100e3
2015-10-12 11:21:03 +08:00
Morris Tseng
d5147a9b2a Bug 709490 - Part 2: Introduce OffscreenCanvas and let WebGL context work on workers. r=nical, r=jgilbert, r=jrmuizel, sr=ehsan
Thanks Jon Morton [:jmorton] (jonanin@gmail.com) for polishing patches.

--HG--
extra : rebase_source : ce16acdc340cbe67102da651552f574eee897ca9
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
Jeff Muizelaar
ae3e59c2dc Bug 1213019. Get UnmapBuffer as part of MapBufferRanges features. r=jgilbert
This fixes laoding UnmapBuffer loading on GLES3

--HG--
extra : rebase_source : 76571bb9805ae56aa85383c9f537a67b4383424d
2015-10-08 18:16:36 -04:00
Botond Ballo
541fb0cd68 Bug 1212664 - Perform y-inversion correctly when dumping compositor surface. r=jrmuizel
--HG--
extra : source : d378fad1aa9ceb67dbfcc7afaf5138542b292459
2015-10-07 19:58:23 -04:00
Nicholas Nethercote
0f5722f4da Bug 1211324 (part 5) - Remove GraphicsFilter and gfxGraphicsFilter. r=mattwoodrow. 2015-10-05 17:18:10 -07:00
Nicholas Nethercote
4fc2610c3c Bug 1211324 (part 4) - Replace GraphicsFilter constants with gfx::Filter equivalents. r=mattwoodrow.
The conversion is as follows:

- GraphicsFilter::FILTER_NEAREST == gfx::Filter::POINT
- GraphicsFilter::FILTER_GOOD    == gfx::Filter::GOOD
- GraphicsFilter::FILTER_BEST    == gfx::Filter::LINEAR

Also typedef GraphicsFilter to gfx::Filter; this will be removed in the next
patch.

These changes mean ToFilter() and ThebesFilter() are no longer needed.
2015-10-05 17:12:46 -07: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
f27289323c Bug 709490 - Part 8: Copy to a temp texture when readback from IOSurface. r=jgilbert
--HG--
extra : rebase_source : d1d0d60ba4c5c40b4fb555b1da83699f9bb2f571
2015-10-05 10:50:16 +08:00
Morris Tseng
861bb61b91 Bug 709490 - Part 7: If layer is not available, fallback to BasicCanvasLayer. r=roc
--HG--
extra : rebase_source : bfdf6a97f372a3a5a2ecdd4a3c216ec64ec98e84
2015-10-05 10:50:16 +08:00
Morris Tseng
2d11e76151 Bug 709490 - Part 2: Introduce OffscreenCanvas and let WebGL context work on workers. r=nical, r=jgilbert, r=jrmuizel, sr=ehsan
Thanks Jon Morton [:jmorton] (jonanin@gmail.com) for polishing patches.

--HG--
extra : rebase_source : 16b8b4eaa5f4c649c02cbae6425e895134d4ae41
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
Jeff Gilbert
555331554c Bug 1178601 - Don't crash on incomplete FB. - r=jrmuizel 2015-09-24 14:26:20 -07:00
Jeff Muizelaar
43a087cc38 Bug 1179280. Update ANGLE from chromium/2214 to chromium/2466. 2015-09-29 19:04:17 -04:00
Jeff Gilbert
41fcf39971 Bug 1149728. Move CreateXForOffscreen functions. r=jrmuizel 2015-09-28 23:35:46 -04: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
173c50c555 Bug 709490 - Part 8: Copy to a temp texture when readback from IOSurface, r=jgilbert 2015-09-29 11:51:25 +01:00
Morris Tseng
c5927f2dae Bug 709490 - Part 7: If layer is not available, fallback to BasicCanvasLayer, r=roc 2015-09-29 11:51:25 +01:00
Morris Tseng
1d4157900a Bug 709490 - Part 2: Introduce OffscreenCanvas and let WebGL context work on workers., r=ehsan, r=jgilbert, r=nical 2015-09-29 11:51:24 +01:00
Morris Tseng
6c605d106d Bug 709490 - Part 1: Let ImageBridge transfer CanvasClient async, r=nical 2015-09-29 11:51:23 +01:00
Nicholas Nethercote
d0c4a9db1b Bug 1208300 (part 4) - Remove gfxRGBA and some related things. r=jwatt.
Hooray!

--HG--
extra : rebase_source : d691b55eef5a8655aa98b81b5398452a5ebe860d
2015-09-24 19:24:16 -07:00
Jeff Gilbert
bc525759f2 Bug 1209022 - Fix AA handling in EGL's CreateOffscreen. - r=jrmuizel 2015-09-28 15:53:37 -07:00
Andrew Comminos
b2668b2662 Bug 1193015 - Require MOZ_GLX_USE_SURFACE_SHARING to enable WebGL surface sharing on GLX. r=jgilbert 2015-09-24 15:21:36 -07:00
Jeff Gilbert
187dfafc29 Bug 1191042 - Use CreateOffscreen for WebGL instead of CreateHeadless. - r=jrmuizel 2015-09-24 12:21:05 -07:00
Jamie Nicol
dddf06fe27 Bug 1207153 - Restore texture binding to correct target in GLBlitHelper. r=snorp 2015-09-22 06:49:00 +02:00
Chris Peterson
71920a9550 Bug 1207030 - Enable -Wshadow flag in more directories that have no -Wshadow warnings. r=glandium 2015-09-22 21:39:03 -07:00
Phil Ringnalda
449e9119b4 Back out f84aedf7a62d (bug 1191042) for b2g emulator test failures
CLOSED TREE
2015-09-22 19:26:13 -07:00
Jeff Gilbert
8d443901df Bug 1191042 - Use CreateOffscreen for WebGL instead of CreateHeadless. - r=jrmuizel 2015-09-22 16:49:25 -07:00
Sotaro Ikeda
c58047810f Bug 1172719 - Fix SharedSurface fence handling on gonk r=jgilbert,nical 2015-09-21 07:21:52 -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
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
f44287005f Bug 1198334 (part 1) - Replace the opt-in FAIL_ON_WARNINGS with the opt-out ALLOW_COMPILER_WARNINGS. r=glandium.
The patch removes 455 occurrences of FAIL_ON_WARNINGS from moz.build files, and
adds 78 instances of ALLOW_COMPILER_WARNINGS. About half of those 78 are in
code we control and which should be removable with a little effort.

--HG--
extra : rebase_source : 82e3387abfbd5f1471e953961d301d3d97ed2973
2015-08-27 20:44:53 -07:00
Andrew Comminos
c3cdfadf07 Revert "Bug 1191042 - Establish correct EGLConfig at GLContext creation. r=jrmuizel" CLOSED TREE
This reverts commit 99120014586d20a2921b9157e5ec81b3605cd8bd.
2015-08-27 17:12:06 -04:00
Jeff Gilbert
7c5b24dcc5 Bug 1191042 - Establish correct EGLConfig at GLContext creation. r=jrmuizel 2015-08-27 16:55:45 -04:00
Andrew Comminos
f878f77b97 Bug 1197387 - Use glXGetProcAddress to link against GLX_ARB_create_context_robustness. r=jgilbert 2015-08-26 21:30:15 -04:00
Kartikaya Gupta
c10cfda0d4 Bug 1195401 - Use gfxPrefs (threadsafe) rather than crashing on debug builds for off-main-thread pref access. r=snorp
--HG--
extra : commitid : 5uavw49AOAg
2015-08-21 13:21:58 -04:00
David Anderson
c9c46b8efc Add driver crash guards to WebGL (bug 1190281 part 9, r=jgilbert,mattwoodrow) 2015-08-14 22:14:00 -07:00
Wes Kocher
d51b493b46 Backed out changeset 956b56977688 (bug 1190281) for gfx crashes 2015-08-14 15:26:34 -07:00
David Anderson
cdcd177df0 Add driver crash guards to WebGL. (bug 1190281 part 9, r=jgilbert) 2015-08-14 12:52:37 -07:00