Commit Graph

44 Commits

Author SHA1 Message Date
Mason Chang
259933fb0b Bug 1279063. Part 2: Use RGBA instead of RGBX surface format for DXVA video. r=bas 2016-07-25 16:36:36 -07:00
Matt Woodrow
49c3c58a6c Bug 1257013 - Part 1: Use readback to synchronize d3d9 video. r=cpearce,Bas
--HG--
extra : rebase_source : 104b692bb1f732ec86113506ebac8961ac8fb5b8
2016-03-21 18:49:43 +13:00
Matt Woodrow
60b2f060b1 Bug 1236112 - Block on d3d9 video frames to complete before returning them from the decoder. r=cpearce 2016-03-09 10:34:49 +13:00
Nicolas Silva
ce2636044e Bug 1200595 - Merge TextureClient and ClientTexture back into TextureClient. r=mattwoodrow 2015-11-20 14:25:00 +01:00
Nicolas Silva
df6e210dc0 Bug 1200595 - D3D9 TextureData implementation. r=Bas 2015-10-19 14:46:17 +02:00
Wes Kocher
72261b4523 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)

--HG--
extra : commitid : AMC6i05xyTh
2015-11-24 10:07:02 -08:00
Nicolas Silva
c1b94d01e8 Bug 1200595 - Merge TextureClient and ClientTexture back into TextureClient. r=mattwoodrow 2015-11-20 14:25:00 +01:00
Nicolas Silva
51dd6c34c2 Bug 1200595 - D3D9 TextureData implementation. r=Bas 2015-10-19 14:46:17 +02:00
Carsten "Tomcat" Book
1a584aca79 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
25167273f1 Bug 1200595 - Merge TextureClient and ClientTexture back into TextureClient. r=mattwoodrow 2015-11-20 14:25:00 +01:00
Nicolas Silva
24e78db7d5 Bug 1200595 - D3D9 TextureData implementation. r=Bas 2015-10-19 14:46:17 +02:00
David Anderson
c92530b253 Decouple D3D9SurfaceImage from ImageContainer. (bug 1222910, r=mattwoodrow) 2015-11-17 00:09:00 -08: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
Matt Woodrow
d021a58868 Bug 1194753 - Wait longer when decoding the first frame of D3D9 DXVA video before deciding it is invalid. r=cpearce 2015-08-18 14:19:45 -04:00
Matt Woodrow
8e52bedb94 Bug 1135935 - Part 5: Add D3D9 texture recycler. r=jrmuizel
--HG--
extra : rebase_source : e80d662d9e70ff1fea89c385b5babc6cac53cf9e
2015-08-11 10:15:44 -04:00
Matt Woodrow
b6b2040427 Bug 1135935 - Part 4: Move IDirect3DTexture9 allocations and ownership into the TextureClient. r=jrmuizel
--HG--
extra : rebase_source : 3ef1a94532980c91b850d65047493b208b1b09ce
2015-08-11 10:15:34 -04: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
Nathan Froyd
db188ea282 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
5e604392a5 Bug 1158122 - Remove some occurences of nsIntRect in gfx/layers/. r=nical 2015-05-07 11:07:35 +02:00
Ethan Lin
b6a9cb595a Bug 1053563 - Use a static create function to replace InitWith for TextureClient. r=nical 2015-04-29 19:34:00 +02:00
Matt Woodrow
def55ce594 Bug 1131638 - Discard video frames that fail to sync. r=cpearce 2015-03-12 22:13:23 +13:00
Matt Woodrow
3154f0f851 Back out bug 1131638 (changesets 78b34d0e414a and 1b55b99dc432) for causing various video regressions 2015-03-09 16:18:32 +13:00
Anthony Jones
b8da0abf2f Bug 1131638 - Discard DXVA frames that don't complete YUV->RGB conversion. r=cpearce 2015-02-20 16:27:42 +13:00
Matt Woodrow
523dd220d2 Bug 1128765 - Add more more reporters to break down D3D9 texture usage. r=jrmuizel 2015-02-05 16:20:14 +13:00
Jeff Muizelaar
c05b6e84f8 Bug 1128765 - Add memory reporter for D3D9 shared texture usage. r=mattwoodrow
--HG--
extra : rebase_source : 41a1bf52382ea1a8aff3360b35158c6836f2d129
2015-02-03 21:34:33 +13:00
Ethan Lin
945540c527 Bug 1042696 - Set allocator to TextureClient from constructor. r=nical 2014-12-22 03:49:00 -05:00
Andreas Pehrson
ebcef0c606 Bug 1089214 - Avoid using null query in D3D9SurfaceImage::EnsureSynchronized. r=nical 2014-11-27 17:56:00 -08:00
Milan Sreckovic
4455d895e8 Bug 1033310: Handle CreateDataSourceSurface* returning nullptr. f=nsilva, r=bschouten 2014-08-27 11:57:43 -04:00
Benoit Jacob
dd9a0850b3 Bug 987311 - 2/6 - Make TextureFlags a typed enum, auto regex changes - r=nical
find gfx/layers -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)TEXTURE_\(USE_NEAREST_FILTER\|NEEDS_Y_FLIP\|DISALLOW_BIGIMAGE\|ALLOW_REPEAT\|NEW_TILE\|COMPONENT_ALPHA\|RB_SWAPPED\|FRONT\|ON_WHITE\|ON_BLACK\|TILE\|RECYCLE\|COPY_PREVIOUS\|DEALLOCATE_CLIENT\|IMMUTABLE\|IMMEDIATE_UPLOAD\|DOUBLE_BUFFERED\|ALLOC_FALLBACK\)\($\|[^A-Za-z0-9_]\)/\1TextureFlags::\2\3/g'
find gfx/layers -type f | xargs sed -i 's/TEXTURE_FLAGS_DEFAULT/TextureFlags::DEFAULT/g'
2014-04-25 22:34:05 -04:00
Blair McBride
24b74a2af7 Backed out 9 changesets (bug 987311, bug 989027, bug 989144). r=sheriff
Backed out changeset 046c061d91c2 (bug 989144)
Backed out changeset 3f1b41adeaef (bug 987311)
Backed out changeset 8d5a171564bd (bug 987311)
Backed out changeset dcc0d016de7a (bug 987311)
Backed out changeset 27f338fbc835 (bug 989027)
Backed out changeset 4a67f5144ea4 (bug 989027)
Backed out changeset 62ba0a377450 (bug 987311)
Backed out changeset 6a2542a5c865 (bug 987311)
Backed out changeset 1dfd9a457f34 (bug 987311)
2014-04-27 19:45:08 +12:00
Benoit Jacob
45875b18ee Bug 987311 - 2/6 - Make TextureFlags a typed enum, auto regex changes - r=nical 2014-04-25 22:34:05 -04:00
Jonathan Watt
200e95e9eb Bug 996901 - Remove lots of gfxASurface.h and gfxImageSurface.h includes and forward declarations that are no longer needed. r=mattwoodrow 2014-04-16 01:41:40 +01:00
Jonathan Watt
d54d6a8047 Bug 960524 - Get rid of Image::DeprecatedGetAsSurface (Moz2D migration). r=mattwoodrow 2014-04-10 09:49:53 +01:00
Matt Woodrow
91d9c51764 Bug 904890 - Part 1: Implement ISharedImage for D3D9SurfaceImage. r=nical
* * *
[mq]: fix-things
2014-04-07 15:09:08 +12:00
Ali Akhtarzada
2c7ba35d6b Bug 961715 - Implement D3D9SurfaceImage::GetAsSourceSurface. r=nical 2014-01-28 09:14:10 -05:00
Benoit Jacob
e5ed95579b Bug 959380 - 2/5 - Make gfxImageFormat a typed enum - r=jrmuizel
find . -type f | grep -v \./obj | grep -v \.hg | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)gfxImageFormat\(ARGB32\|RGB24\|A8\|A1\|RGB16_565\|Unknown\)\($\|[^A-Za-z0-9_]\)/\1gfxImageFormat::\2\3/g'
2014-01-23 13:26:40 -05:00
Ali Akhtarzada
9d5c2a81a1 Bug 958489 - Implement base Image::GetAsSourceSurface. r=nical
Added an Image::GetAsSourceSurface to return a gfx::SourceSurface
and implemented in terms of gfxPlatform::GetSourceSurfaceForSurface.

Deprecated GetAsSurface.
2014-01-15 10:06:43 -05:00
Tor Arvid Lund
3d5f99f7f3 Bug 929513 - Replace some instances of gfxIntSize with gfx::IntSize r=nical 2013-12-13 18:32:02 +01:00
Benoit Jacob
55d6cf1e20 Bug 913872 - Take nested enums out of gfxASurface - 1/3 : automatic changes - r=jrmuizel
Generated by these regexes:

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/gfx[A-Za-z0-9_]*Surface\:\:[a-z]*\(\(ImageFormat\|SurfaceType\|ContentType\|MemoryLocation\)[0-9A-Za-z_]*\)/gfx\1/g'

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/gfx[A-Za-z0-9_]*Surface\:\:[a-z]*\(\(CONTENT_\|MEMORY_\)[0-9A-Za-z_]*\)/GFX_\1/g'

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)\(CONTENT_COLOR\|CONTENT_ALPHA\|CONTENT_COLOR_ALPHA\|CONTENT_SENTINEL\|MEMORY_IN_PROCESS_HEAP\|MEMORY_IN_PROCESS_NONHEAP\|MEMORY_OUT_OF_PROCESS\)\($\|[^A-Za-z0-9_]\)/\1GFX_\2\3/g'

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)\(ImageFormatARGB32\|ImageFormatRGB24\|ImageFormatA8\|ImageFormatA1\|ImageFormatRGB16_565\|ImageFormatUnknown\|SurfaceTypeImage\|SurfaceTypePDF\|SurfaceTypePS\|SurfaceTypeXlib\|SurfaceTypeXcb\|SurfaceTypeGlitz\|SurfaceTypeQuartz\|SurfaceTypeWin32\|SurfaceTypeBeOS\|SurfaceTypeDirectFB\|SurfaceTypeSVG\|SurfaceTypeOS2\|SurfaceTypeWin32Printing\|SurfaceTypeQuartzImage\|SurfaceTypeScript\|SurfaceTypeQPainter\|SurfaceTypeRecording\|SurfaceTypeVG\|SurfaceTypeGL\|SurfaceTypeDRM\|SurfaceTypeTee\|SurfaceTypeXML\|SurfaceTypeSkia\|SurfaceTypeSubsurface\|SurfaceTypeD2D\|SurfaceTypeMax\)\($\|[^A-Za-z0-9_]\)/\1gfx\2\3/g'
2013-09-24 16:45:13 -04:00
Birunthan Mohanathas
90f650a127 Bug 784739 - Switch from NULL to nullptr in gfx/layers/; r=ehsan
--HG--
extra : rebase_source : d6b0d229e1bdbe53c515b13c73c7b53839d9c756
2013-07-20 11:48:55 +03:00
Chris Pearce
f48a90724f Bug 872375 - Specify picture region in D3D9SurfaceImage. r=padenot 2013-05-20 13:14:13 +08:00
Chris Pearce
531c91fb5b Bug 847267 - Add new image class to wrap D3D surfaces. r=Bas 2013-05-04 22:12:40 +12:00