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

45 Коммитов

Автор SHA1 Сообщение Дата
Jean-Yves Avenard e0e52e125f Bug 1495025 - P3. Store original IMFMediaType's subtype in D3D11SharedHandleImage. r=cpearce
This allows more easily the creation of the MFT required to convert to a RGBA32 image when doing a readback.

Depends on D7295

Differential Revision: https://phabricator.services.mozilla.com/D7296
2018-10-08 15:52:00 +02:00
Jean-Yves Avenard c8d172b91e Bug 1495025 - P1. Search for alternative pixel format when stream change. r=cpearce
When decoding a vp9 profile 2 (10 bits), the MF_E_TRANSFORM_STREAM_CHANGE message is returned. We need to look for alternative format type other than NV12: 10/16 bits.

When using those formats, we can no longer assume that the D3D11ShareHandleImage can use NV12. So we will convert to RGBA32 on the fly via a MFT.

Differential Revision: https://phabricator.services.mozilla.com/D7294
2018-10-08 15:51:59 +02:00
Narcis Beleuzu 18849ef0ae Backed out 6 changesets (bug 1495025) for webgl2 failures on test_2_conformance2__textures__misc__npot-video-sizing.html
Backed out changeset 24d67618f6b9 (bug 1495025)
Backed out changeset 68efa7588ba8 (bug 1495025)
Backed out changeset 9f59a50dcc6d (bug 1495025)
Backed out changeset 7fd1f6103294 (bug 1495025)
Backed out changeset f1afe7e2a9e3 (bug 1495025)
Backed out changeset c62823871aca (bug 1495025)
2018-10-07 02:03:46 +03:00
Jean-Yves Avenard 96df06d643 Bug 1495025 - P3. Store original IMFMediaType's subtype in D3D11SharedHandleImage. r=cpearce
This allows more easily the creation of the MFT required to convert to a RGBA32 image when doing a readback.

Depends on D7295

Differential Revision: https://phabricator.services.mozilla.com/D7296
2018-10-06 21:31:22 +02:00
Jean-Yves Avenard 93241b3850 Bug 1495025 - P1. Search for alternative pixel format when stream change. r=cpearce
When decoding a vp9 profile 2 (10 bits), the MF_E_TRANSFORM_STREAM_CHANGE message is returned. We need to look for alternative format type other than NV12: 10/16 bits.

When using those formats, we can no longer assume that the D3D11ShareHandleImage can use NV12. So we will convert to RGBA32 on the fly via a MFT.

Differential Revision: https://phabricator.services.mozilla.com/D7294
2018-10-06 21:31:21 +02:00
Brindusan Cristian 070df1d4c1 Backed out 6 changesets (bug 1495025) for mochitest-webgl2 failures in test_2_conformance2__textures__misc__npot-video-sizing.html. CLOSED TREE
Backed out changeset 263d4f722174 (bug 1495025)
Backed out changeset 528dbc463c22 (bug 1495025)
Backed out changeset 25895d283d47 (bug 1495025)
Backed out changeset c3b43ee1092e (bug 1495025)
Backed out changeset c548d816019d (bug 1495025)
Backed out changeset 208624601a18 (bug 1495025)
2018-10-04 15:16:07 +03:00
Jean-Yves Avenard 034f4af789 Bug 1495025 - P3. Store original IMFMediaType's subtype in D3D11SharedHandleImage. r=cpearce
This allows more easily the creation of the MFT required to convert to a RGBA32 image when doing a readback.

Depends on D7295

Differential Revision: https://phabricator.services.mozilla.com/D7296

--HG--
extra : moz-landing-system : lando
2018-10-04 09:40:51 +00:00
Jean-Yves Avenard b1b4774ad7 Bug 1495025 - P1. Search for alternative pixel format when stream change. r=cpearce
When decoding a vp9 profile 2 (10 bits), the MF_E_TRANSFORM_STREAM_CHANGE message is returned. We need to look for alternative format type other than NV12: 10/16 bits.

When using those formats, we can no longer assume that the D3D11ShareHandleImage can use NV12. So we will convert to RGBA32 on the fly via a MFT.

Differential Revision: https://phabricator.services.mozilla.com/D7294

--HG--
extra : moz-landing-system : lando
2018-10-04 09:39:50 +00:00
sotaro 94f896e042 Bug 1467055 - Do not reuse D3D11Textures when CompositorDevice or ContentDevice is updated r=nical 2018-06-13 06:45:52 -07:00
Jean-Yves Avenard c41e0fce24 Bug 1404997 - P5. Fix constness and remove redundant virtual keyword. r=mattwoodrow
Additionally, various C++ code and style cleanup

MozReview-Commit-ID: 7BCtQzFGaOc

--HG--
extra : rebase_source : 77598165c0f6ad9f04c8a09985c79df82f2732e4
2017-11-30 19:03:02 +01:00
Daniel Holbert 126bd9e1a4 Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel
This patch was generated automatically by the "modeline.py" script, available
here: https://github.com/amccreight/moz-source-tools/blob/master/modeline.py

For every file that is modified in this patch, the changes are as follows:
 (1) The patch changes the file to use the exact C++ mode lines from the
     Mozilla coding style guide, available here:
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#Mode_Line

 (2) The patch deletes any blank lines between the mode line & the MPL
     boilerplate comment.

 (3) If the file previously had the mode lines and MPL boilerplate in a
     single contiguous C++ comment, then the patch splits them into
     separate C++ comments, to match the boilerplate in the coding style.

MozReview-Commit-ID: 77D61xpSmIl

--HG--
extra : rebase_source : c6162fa3cf539a07177a19838324bf368faa162b
2017-10-27 16:10:06 -07:00
sotaro 2935e1ba35 Bug 1407149 - Add immediate context pointer check to d3d images r=nical 2017-10-10 19:09:37 +09:00
Jean-Yves Avenard 66188b449c Bug 1352016 - P3. Check if NV12 rendering is usable when allocating D3D11 surface. r=mattwoodrow
MozReview-Commit-ID: EgA6lEeIyBj

--HG--
extra : rebase_source : cb3c4e5e864085fe76514096d6d9aa9b49d0a334
2017-09-10 17:54:31 +02:00
Wes Kocher 7a8b3e02a0 Backed out 4 changesets (bug 1352016) for gfx crashes in test_TelemetryEnvironment.js a=backout CLOSED TREE
Backed out changeset dd7342e18e67 (bug 1352016)
Backed out changeset ebc7c92e8dc0 (bug 1352016)
Backed out changeset e79e512f803f (bug 1352016)
Backed out changeset 9eed6a69298c (bug 1352016)

MozReview-Commit-ID: CYDuqu0Hmtb
2017-09-12 17:09:40 -07:00
Jean-Yves Avenard cf367ef0c5 Bug 1352016 - P2. Check if NV12 rendering is usable when allocating D3D11 surface. r=mattwoodrow
MozReview-Commit-ID: EgA6lEeIyBj

--HG--
extra : rebase_source : 7b8a8f1669d268a5e1512320b891b35722fe4c14
2017-09-10 17:54:31 +02:00
Bas Schouten f500c10597 Bug 1345814: Don't use mutices when the decoding device is the compositor device anyway. r=mattwoodrow
MozReview-Commit-ID: GOwyVKFSkRa
2017-03-13 12:29:22 +00:00
Bas Schouten b2cb2752c9 Bug 1340398 - Part 3: Use NV12 format by default. r=mattwoodrow
MozReview-Commit-ID: DcP40U81FBQ
2017-03-07 20:55:20 +00:00
Bas Schouten 3a86acb691 Bug 1340398 - Part 2: Support NV12 texture hosts in CompositorD3D11. r=mattwoodrow
MozReview-Commit-ID: IdwY1Cs4P9c
2017-03-07 20:55:20 +00:00
Wes Kocher af86144916 Backed out 3 changesets (bug 1340398) for static build bustage a=backout
Backed out changeset 7d0a9bb0a642 (bug 1340398)
Backed out changeset a8af64e23154 (bug 1340398)
Backed out changeset 588942cf8807 (bug 1340398)

MozReview-Commit-ID: BZveA35jLBL

--HG--
extra : rebase_source : 4e182afdb98d0422e82f184f5bfc332f27438f0a
2017-03-07 13:39:49 -08:00
Bas Schouten 2f08c8af36 Bug 1340398 - Part 3: Use NV12 format by default. r=mattwoodrow
MozReview-Commit-ID: DcP40U81FBQ
2017-03-07 20:55:20 +00:00
Bas Schouten ddb41fcc63 Bug 1340398 - Part 2: Support NV12 texture hosts in CompositorD3D11. r=mattwoodrow
MozReview-Commit-ID: IdwY1Cs4P9c
2017-03-07 20:55:20 +00:00
Bas Schouten 920b5f6d15 Bug 1340359: Use IDXGIKeyedMutex for syncing DXVA D3D11 video textures. r=mattwoodrow
MozReview-Commit-ID: 2EY1Yqql1wU
2017-02-21 05:16:31 +00:00
Matt Woodrow 55f506db9f Bug 1281456 - Decouple TextureForwarder and CompositableForwarder. r=gw280 2016-09-27 16:22:20 +13:00
Matt Woodrow f8671565f8 Bug 1303897 - Part 1: Use TextureForwarder for Image::GetTextureClient. r=nical 2016-09-23 09:43:11 +12:00
Matt Woodrow fb5b16533d Bug 1288618 - Part 2: Allow allocating D3D9/11 Images when we don't have a recycling allocator available. r=nical 2016-09-21 21:24:43 +12:00
Carsten "Tomcat" Book f918af64da Backed out 16 changesets (bug 1288618) for bustage on a CLOSED TREE
Backed out changeset 06187d250f7a (bug 1288618)
Backed out changeset 2a47f8ea1d89 (bug 1288618)
Backed out changeset e179c8e8265d (bug 1288618)
Backed out changeset 25396a1af922 (bug 1288618)
Backed out changeset e98f835c6ee5 (bug 1288618)
Backed out changeset 24df0e89b273 (bug 1288618)
Backed out changeset f8bbdabdb6da (bug 1288618)
Backed out changeset 8b0adeab93df (bug 1288618)
Backed out changeset 95f23366de82 (bug 1288618)
Backed out changeset 63a9c689e1d5 (bug 1288618)
Backed out changeset 8f67443dccb8 (bug 1288618)
Backed out changeset 4e7fe69d5f45 (bug 1288618)
Backed out changeset 53b113acee42 (bug 1288618)
Backed out changeset 2583ae4e2e3b (bug 1288618)
Backed out changeset 75a61d0e71b7 (bug 1288618)
Backed out changeset da740b4fd484 (bug 1288618)
2016-09-21 08:44:11 +02:00
Matt Woodrow 30d2768a45 Bug 1288618 - Part 2: Allow allocating D3D9/11 Images when we don't have a recycling allocator available. r=nical
--HG--
extra : rebase_source : 23db70f7fed43217f8e8a27b0ab73435cdd3b895
2016-09-21 15:36:09 +12:00
Carsten "Tomcat" Book cceb9976fc Backed out changeset 1d9978f82efc (bug 1288618) 2016-09-15 16:34:16 +02:00
Matt Woodrow 61e84987aa Bug 1288618 - Part 2: Allow allocating D3D9/11 Images when we don't have a recycling allocator available. r=nical 2016-09-15 23:17:58 +12:00
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 41cff5119c Bug 1257013 - Part 2: Use readback to synchronize d3d11 video. r=cpearce,Bas
--HG--
extra : rebase_source : 252d183ea0c15f4326c25b4f84ae1c9b43237759
2016-03-21 18:49:59 +13:00
Nicolas Silva a3f38d948e Bug 1200595 - D3D11 TextureData implementation. r=Bas 2015-10-15 17:53:37 +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 2eea103a37 Bug 1200595 - D3D11 TextureData implementation. r=Bas 2015-10-15 17:53:37 +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 943fe8686e Bug 1200595 - D3D11 TextureData implementation. r=Bas 2015-10-15 17:53:37 +02:00
David Anderson 2e1669f2fe Decouple D3D11ShareHandleImage 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 4c2bc925a5 Bug 1195527 - Part 2: Add D3D11 video TextureClient recycler. r=jrmuizel 2015-08-18 21:04:46 -04: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
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
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
Chris Pearce ext:(%2C%20Matt%20Woodrow%20%3Cmwoodrow%40mozilla.com%3E) 3916a66ac9 Bug 875247 - Add support for DXVA2 via D3D11. r=cpearce,gps,padenot 2015-03-31 18:21:15 +13:00