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

38 Коммитов

Автор SHA1 Сообщение Дата
Jean-Yves Avenard 2f98d89d2f Bug 1540581 - P16. Mark allocation helper class as RAII. r=nical
Those classes use raw pointers or references to construction objets. They can only be used while the objects they reference still exist.
While RAII doesn't fully cover this use case, it's close enough. Mark them as such to prevent shooting ourselves in the future.

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

--HG--
extra : moz-landing-system : lando
2019-04-11 12:39:04 +00:00
Jean-Yves Avenard 11ac9e9cf8 Bug 1540581 - P6. Tidy some C++ declarations in gfx/. r=gerald,jrmuizel
* Remove redundant virtual keywords
* Mark all destructors of inheriting classes as virtual for clarity
* Mark all classes without virtual destructor as final (exposed errors)
* Make destructor virtual where it needed to be (some were missing)
* Replace empty ({}) code declaration in header with = default
* Remove virtual unused methods

I probably missed some, it quickly became a rabbit hole.

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

--HG--
extra : moz-landing-system : lando
2019-04-11 12:36:51 +00:00
Sylvestre Ledru 265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +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
Daniel Holbert ecf5ee687e Bug 1412427 part 4: Indent under-indented MPL boilerplate comments by 1 space, for consistency & alignment. (whitespace-only) r=jrmuizel
This patch was automatically generated. I found the files to be fixed in this
patch with the following command:
grep -r "^\* This Source Code" gfx

...and then I modified each of these files with the following script
(where $1 is the filename to be modified):
###
line1="\* This Source Code Form is subject to the terms of the Mozilla Public"
line2="\* License, v\. 2\.0\. If a copy of the MPL was not distributed with this"
line3="\* file, You can obtain one at http://mozilla\.org/MPL/2\.0/\. \*/"

# Insert 1 space at beginning:
sed -i s%"^$line1"%" $line1"% $1
sed -i s%"^$line2"%" $line2"% $1
sed -i s%"^$line3"%" $line3"% $1
###

MozReview-Commit-ID: HXBMrfnhlVr

--HG--
extra : rebase_source : de4c78563711f8366e2978c5199a5041875fbe38
2017-10-27 15:55:37 -07:00
Sotaro Ikeda 92926a0f41 Bug 1317656 - Cleanup more gonk/b2g dependent code r=nical 2016-11-15 22:01:30 -08:00
Matt Woodrow 55f506db9f Bug 1281456 - Decouple TextureForwarder and CompositableForwarder. r=gw280 2016-09-27 16:22:20 +13:00
Matt Woodrow bafb5ec93b Bug 1303897 - Part 2: Use TextureForwarder for TextureClientRecycleAllocator. r=nical 2016-09-23 09:43:32 +12:00
Sotaro Ikeda 1b58d53b0f Bug 1285238 - Add TextureClientRecycleAllocator::Destroy() r=nical 2016-07-17 19:23:12 -07:00
Sotaro Ikeda 774306bc97 Bug 1280839 - Recycle SharedPlanarYCbCrImage r=nical 2016-06-29 19:12:31 -07:00
Nicolas Silva 93024c0a86 Bug 1281780 - Forward ShadowLayerForwarder texture-related methods to CompositorBridgeChild. r=gw280 2016-06-29 11:18:30 +02:00
Sebastian Hengst 9627074d03 Backed out changeset a901563fd181 (bug 1281780) for OS X 10.10 debug for assertion in TextureClient.cpp during R(C) 1246775-1.html. r=backout 2016-06-28 20:28:23 +02:00
Nicolas Silva d3e9d5d23c Bug 1281780 - forward ShadowLayerForwarder texture-related methods to CompositorBridgeChild. r=gw280 2016-06-28 14:06:46 +02:00
George Wright e69fbec6a5 Bug 1176011 - Move TextureClientPool to CompositorBridgeChild r=nical 2016-06-18 03:35:10 +01:00
Phil Ringnalda 6102ffe8a1 Back out changeset c3d167fbd0e4 (bug 1176011) for frequent crashes @mozilla::layers::FixedSizeSmallShmemSectionAllocator::ShrinkShmemSectionHeap() 2016-06-10 19:05:25 -07:00
George Wright 29e2a97139 Bug 1176011 - Move TextureClientPool to CompositorBridgeChild r=nical 2016-06-10 14:57:20 -04:00
Wes Kocher 900af5349d Backed out changeset a85da8081c68 (bug 1176011) of OSX failures 2016-06-08 11:44:29 -07:00
George Wright 4a2717ba01 Bug 1176011 - Move TextureClientPool to CompositorBridgeChild r=nical 2016-06-08 12:23:41 -04:00
George Wright 20caba9bab Revert "Bug 1176011 - Move TextureClientPool to CompositorBridgeChild r=nical" on a CLOSED TREE
This reverts commit 5e29613bb6bc66d13bc63c4fab3a0130e801a058.
2016-06-07 17:37:59 -04:00
George Wright 7eeaa7b6cd Bug 1176011 - Move TextureClientPool to CompositorBridgeChild r=nical 2016-06-07 14:33:23 -04:00
Sotaro Ikeda c896de69c3 Bug 1262328 - Add Add ClientLayer::HandleMemoryPressure() r=nical 2016-04-06 18:44:05 -07:00
Alfredo Yang 869d8facd4 Bug 1224889 - OpenMax IL video decoding for PDM. r=sotaro, r=nical
--HG--
extra : rebase_source : 758864e83ac009581bea87b90ba1bc235934ffb7
2016-01-08 06:24:00 -05:00
Sotaro Ikeda 29ad0bee26 Bug 1219210 - Add ITextureClientAllocationHelper and VENUS color handling r=nical,jolin 2015-12-04 02:13:49 -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
David Anderson 2f7c2f2b2f Remove ISurfaceAllocator::GetCompositorBackend. (bug 1211109 part 4, r=mattwoodrow) 2015-10-05 23:40:13 -07:00
Matt Woodrow 224fe499c5 Bug 1135935 - Part 6: Wait for the compositor to stop using textures before recycling them. r=jrmuizel
--HG--
extra : rebase_source : 9b24d6a0299cf50063c4ebcf7ca4322e62e182ad
2015-08-13 15:18:53 -04:00
Matt Woodrow 21097c326c Bug 1135935 - Part 3: Allow overriding of allocations for texture client recycling. r=sotaro
--HG--
extra : rebase_source : b93e67fd29dd805266e767f09c2df496d9256f86
2015-08-10 16:04:38 -04:00
Matt Woodrow ffbb1cdf8c Bug 1135935 - Part 2: Merge TextureClientRecycleAllocator into base class. r=sotaro
--HG--
extra : rebase_source : 7f83f4d66132531a175f17c851fa4da04fc430d9
2015-08-10 16:02:14 -04:00
David Anderson 1af4366a28 Remove the backend flag to TextureClient::CreateForDrawing. (bug 1183910 part 9, r=mattwoodrow) 2015-08-06 17:27:36 -07:00
Carsten "Tomcat" Book 26f2018b57 Backed out 2 changesets (bug 1183910) for bustage on a CLOSED TREE
Backed out changeset 9617a34de78f (bug 1183910)
Backed out changeset d8f79432c768 (bug 1183910)
2015-08-06 12:09:52 +02:00
David Anderson ff609fc994 Remove the backend flag to TextureClient::CreateForDrawing. (bug 1183910 part 9, r=mattwoodrow) 2015-08-06 02:41:07 -07: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
Sotaro Ikeda 1247620b1d Bug 1043558 - Use gralloc for WebRTC camera preview r=jesup,nical 2014-12-16 07:11:48 -08:00
Sotaro Ikeda 3fad6064bb Bug 1091777 - Add TextureClient recycling to CairoImag r=nical 2014-11-13 07:53:49 -08:00
Ryan VanderMeulen cae555594b Backed out changeset 92295f515d2d (bug 1091777) for bustage. 2014-11-12 21:09:40 -05:00
Sotaro Ikeda c076d14da1 Bug 1091777 - Add TextureClient recycling to CairoImag r=nical 2014-11-12 17:47:10 -08:00