Commit Graph

284 Commits

Author SHA1 Message Date
Milan Sreckovic
d0d73eaf51 Bug 1204922 - More information about crashes. r=bas 2015-10-27 14:11:00 +01:00
Milan Sreckovic
dd6aa8383f Bug 1217192 - Use gfxCriticalNote where we're already using the non-default construction parameter. r=mchang 2015-10-21 14:34:00 +02: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
Milan Sreckovic
f18b559b55 Bug 1200021 - Part 2: more diagnostics. r=bas
--HG--
extra : rebase_source : 41c8648c26d2b7a8c2ee68b823e911b0fdce7f96
2015-09-24 10:44:40 -04:00
David Anderson
497eea35bc Disable screen and multiply mix-blend-mode support in the D3D11 and OGL compositors. (bug 1135271, r=mattwoodrow) 2015-10-07 16:38:19 -07:00
David Anderson
3716363c72 Remove the static compositor backend variable. (bug 1211109 part 2, r=mattwoodrow) 2015-10-05 23:39:00 -07:00
David Anderson
f35bf0138b Log initialization failures in CompositorD3D11.cpp. (bug 1211109 part 1, r=mattwoodrow) 2015-10-05 23:38:40 -07:00
David Anderson
1befc42825 Don't use Direct2D if CompositorD3D11::Initialize fails. (bug 1208638, r=jrmuizel) 2015-10-01 23:06:43 -07:00
Wes Kocher
eff494e681 Backed out changeset 919a831786f1 (bug 1208638) for windows build failures 2015-09-30 16:43:26 -07:00
David Anderson
b0e2473678 Don't use Direct2D if CompositorD3D11::Initialize fails. (bug 1208638, r=jrmuizel)
--HG--
extra : rebase_source : 2c0b1febd9bcc3a52f48a98243ab853f5b58848d
2015-09-30 16:16:16 -07:00
David Anderson
e0b771c314 Fail gracefully when we can't get a texture sync handle. (bug 1207665 part 4, r=bas,vladan) 2015-09-29 11:20:01 -07:00
David Anderson
ce3e7b5ae7 Get the sync texture's sync handle during compositor initialization, where it can be made to fail gracefully. (bug 1207665 part 3, r=bas) 2015-09-29 11:16:16 -07:00
Jeff Muizelaar
37ae0e16b5 Bug 1194335. Disable partial present on Nvidia hardware. r=bas
I have a theory that bug 1189940 is caused by partial present. This
is an attempt to see if that's true.

--HG--
extra : rebase_source : 663613989e5a1b012909e1335595fac495c81478
2015-09-21 11:52:01 -04:00
Nicolas Silva
953150ec3d Bug 1072313 - Never call TextureClient::KeepUntilFullDeallocation off the ipdl thread. r=mattwoodrow 2015-09-21 16:54:40 +02:00
Wes Kocher
c6aa53d157 Backed out changeset 09c2a214244b (bug 1072313) for Windows textureclient crashes CLOSED TREE 2015-09-21 10:37:07 -07:00
Nicolas Silva
554272fa7f Bug 1072313 - Never call TextureClient::KeepUntilFullDeallocation off the ipdl thread. r=mattwoodrow 2015-09-21 16:54:40 +02: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
Matt Woodrow
fb01190fe1 Bug 1199361 - Add texture memory reporters for YCbCr TextureClients. r=jrmuizel
--HG--
extra : rebase_source : 56c1ec34c1d4285117fef854aebaf2bbf8b1a93a
2015-09-01 15:33:40 -04:00
Carsten "Tomcat" Book
12570b009b Backed out changeset edc0db4368a0 (bug 1199361) for suspicion of making OS X 10.6 reftest failing very frequently 2015-09-03 08:39:48 +02:00
Matt Woodrow
16d971851f Bug 1199361 - Add texture memory reporters for YCbCr TextureClients. r=jrmuizel
--HG--
extra : rebase_source : d3646e8481e0767d707f2e7e1bfdad84fd58550f
2015-09-01 15:33:40 -04:00
Jamie Nicol
ff450822a4 Bug 1192058 - For DXGI_PRESENT_PARAMETERS, set pDirtyRects to nullptr if DirtyRectsCount == 0. r=BenWa 2015-08-18 15:11:25 +01:00
Jamie Nicol
991ab71c34 Bug 1191463 - Handle possible ID3D10Texture2D::Map() failure. r=Bas
--HG--
extra : rebase_source : 848a578cce2e05580a1e0374f799931f1b4dfb0b
2015-08-18 17:53:56 +01:00
Matt Woodrow
d07dcdfcf6 Bug 1195527 - Part 1: Move D3D11 texture allocation into the TextureClient. r=jrmuizel 2015-08-18 21:04:14 -04:00
Matt Woodrow
cbdfff6689 Bug 1195531 - Don't discard d3d11 textures when we move the TextureSource to a new compositor. r=jrmuizel,nical 2015-08-18 14:32:33 -04:00
Jeff Muizelaar
5d1283f868 Bug 1194335. Use a StackArray for RECTS so we see them in the minidumps. r=mattwoodrow
It will be faster too.
2015-08-13 17:01:10 -04:00
Bas Schouten
f99f040ff9 Bug 1190950: Check mappings and surfaces for UpdateFromSurface more robustly. r=mattwoodrow 2015-08-06 02:29:47 +00:00
Vladimir Vukicevic
0fbbbcc354 Bug 1188700, [webvr] Fix VR distortion compositing in d3d11/gl to take into account rendertarget size and transform; r=kip 2015-07-29 14:39:47 -04:00
Vladimir Vukicevic
15bf1c4c1d Bug 1167326, fix up VR distortion constant buffer; r=bas 2015-07-29 14:39:47 -04:00
Vladimir Vukicevic
a0b4b85e51 Bug 1179935, introduce complex viewport projections to Compositor, remove PrepareViewport; r=mstange
---
 gfx/layers/Compositor.h                          |  10 ---
 gfx/layers/basic/BasicCompositor.h               |   2 -
 gfx/layers/composite/TextureHost.h               |  34 +++++++-
 gfx/layers/d3d11/CompositorD3D11.cpp             |  47 +++++++---
 gfx/layers/d3d11/CompositorD3D11.h               |   4 +-
 gfx/layers/d3d9/CompositorD3D9.h                 |   2 +-
 gfx/layers/opengl/CompositingRenderTargetOGL.cpp |  23 +++--
 gfx/layers/opengl/CompositingRenderTargetOGL.h   |   2 +
 gfx/layers/opengl/CompositorOGL.cpp              | 104 +++++++++++++----------
 gfx/layers/opengl/CompositorOGL.h                |   6 +-
 10 files changed, 145 insertions(+), 89 deletions(-)
2015-05-19 13:51:26 -04:00
Vladimir Vukicevic
0827824d86 Bug 1179944, [webvr] put back support for Oculus 0.5.0 runtime, for OSX and Linux; r=mstange 2015-06-05 13:14:10 -04:00
Vladimir Vukicevic
cd29824fb8 Bug 1161670, cache D3D11 ShaderResourceView on TextureSourceD3D11; r=bas,jrmuizel 2015-05-05 14:35:29 -04:00
Bas Schouten
1a51d15b0f Bug 1176363 - Part 1: Stop using DrawTargets off the main thread. r=mattwoodrow 2015-07-27 15:47:29 +00:00
Ryan VanderMeulen
e107ea6a37 Backed out changeset adbd8a7608e4 (bug 1176363) for mochitest-gl permacrashes. 2015-07-27 13:54:56 -04:00
Bas Schouten
0bdd67bdd0 Bug 1176363 - Part 1: Stop using DrawTargets off the main thread. r=mattwoodrow 2015-07-27 15:47:29 +00:00
David Anderson
ba1e3c52d9 Move more compositor backend checks into gfxPlatform. (bug 1179051 part 4, r=mattwoodrow)
--HG--
extra : rebase_source : 887ed513fc50f2c1ee560ffa4a795b5c847154fe
2015-07-16 15:18:38 -07:00
Nicolas Silva
1669cfdfef Bug 1180688 - Detect whether the widget will be able to present frames with BasicCompositor on Mac. r=mstange 2015-07-13 16:46:48 +02:00
Lee Salzman
97d3a0fc71 Bug 1180246 - Part 1 - remove dependencies on gfxD2DSurface. r=bas
--HG--
extra : rebase_source : 199520a80f8d904f2034fa39d9640d271078a6ac
2015-07-02 08:02:51 -04: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
Matt Woodrow
3d198b14d2 Bug 1176570 - Make sure all shared texture handles are opened correctly before attempting to use them. r=jrmuizel 2015-06-26 14:07:57 -07:00
Mason Chang
af9e236e6e Bug 1176446 - TextureClientD3D11 should take into account the layer backend when allocating a surface. r=bas 2015-06-25 08:07:42 -07:00
Milan Sreckovic
ffec6a9914 Bug 1145143 - When we fail to UpdateRenderTarget, report the size as well. r=bas 2015-06-18 12:20:00 +02:00
Matt Woodrow
5925a945d1 Bug 1173983 - Use R8 textures for d3d11 alpha textures since it appears to be better supported. r=Bas 2015-06-15 12:30:34 -04:00
Andrew Comminos
1013161996 Bug 1167356 - Handle return value of DataSourceSurface::Map wherever possible. r=Bas
--HG--
extra : rebase_source : fe4fcb9c3a89e2573e6fde423ed8d96f31e00f14
2015-06-11 13:06:23 -04:00
David Major
eb73e64e7c Bug 1173107: Add hexa() around various hr logging. r=jrmuizel a=KWierso 2015-06-09 16:48:59 -04:00
Ryan VanderMeulen
e4040f9e04 Bug 1170143 - Fix Windows bustage to reopen a CLOSED TREE. 2015-06-05 11:31:16 -04:00
Nicolas Silva
e845d9219c Bug 1170143 - Add some error checks around the creation of dxgi ycbcr video frames. r=Bas 2015-06-05 16:19:11 +02:00
Amanda Sambath
376d6d03c3 Bug 1158120 - Replace nsIntSize by mozilla::gfx::IntSize in gfx/layers. r=nical 2015-06-03 13:45:24 +02:00