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

41 Коммитов

Автор SHA1 Сообщение Дата
sotaro 88ebf5f1e4 Bug 1569724 - Do not use front TextureClient as next back buffer when PersistentBufferProviderShared::ClearCachedResources() is called r=nical
When PersistentBufferProviderShared::ClearCachedResources() is called, PersistentBufferProviderShared keeps front TextureClient. But TextureHost's read lock might be released by host side. Then TextureClient's read lock could not be used for checking if the TexutreClient is used by host side.

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

--HG--
extra : moz-landing-system : lando
2019-08-06 00:43:09 +00:00
Nicholas Nethercote 18fae65f38 Bug 1563139 - Remove StaticPrefs.h. r=glandium
This requires replacing inclusions of it with inclusions of more specific prefs
files.

The exception is that StaticPrefsAll.h, which is equivalent to StaticPrefs.h,
and is used in `Codegen.py` because doing something smarter is tricky and
suitable for a follow-up. As a result, any change to StaticPrefList.yaml will
still trigger recompilation of all the generated DOM bindings files, but that's
still a big improvement over trigger recompilation of every file that uses
static prefs.

Most of the changes in this commit are very boring. The only changes that are
not boring are modules/libpref/*, Codegen.py, and ServoBindings.toml.

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

--HG--
extra : moz-landing-system : lando
2019-07-26 01:10:23 +00:00
Nicholas Nethercote 4008f58653 Bug 1561825 - Make layers.* static prefs follow the naming convention. r=KrisWright
The patch also removes the layers.mlgpu.enable-container-resizing pref, because
it's dead.

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

--HG--
extra : rebase_source : e215d584aed18f865d2e8d00a78e76e9b0323e6e
2019-06-27 14:48:58 +10:00
Lee Salzman 06b9f322b2 Bug 1556433 - disable shared buffer provider when using direct texture mapping. r=nical
Differential Revision: https://phabricator.services.mozilla.com/D34242

--HG--
extra : moz-landing-system : lando
2019-06-10 09:23:17 +00:00
Bob Owen 387477fb68 Bug 1464032 Part 12: Add CanvasParent, CanvasChild and RecordedTextureData. r=mattwoodrow, jld
RecordedTextureData records TextureData calls for play back in the GPU process.
CanvasChild and CanvasParent set up the recorder and translator.
They also help to manage the starting of translation and co-ordinating the
translation with the frame transactions.
This patch also includes other changes to wire up recording and playback.
2018-12-02 14:19:11 +00:00
Bob Owen 8b5ea2b146 Bug 1464032 Part 7: Take snapshot before return for TextureClients with synchronization. r=mattwoodrow
This is so we don't need to lock the previous back buffer when it might also be
locked by the compositor. These locks are generally for copying to the next
back buffer or when getting image data from the previous back buffer.
This also makes it easier to asynchronously cache the DataSourceSurface in the
GPU process, when a page is using getImageData. This is done in a later patch.
2018-12-02 14:14:35 +00:00
Bob Owen e25e5074c1 Bug 1464032 Part 6: Add remote canvas pref and refactor TextuteData creation to use it. r=mattwoodrow
This is ground work for when we will be returning a recording TextureData for
certain types in subsequent patches.
2018-11-28 20:44:27 +00:00
Lee Salzman 3abe8f0cf3 Bug 1531975 - just do a gfxCriticalNote on buffer-provider over-production instead of an error r=nical
Differential Revision: https://phabricator.services.mozilla.com/D22518
2019-03-07 10:51:17 -05:00
Sylvestre Ledru 41d1d79094 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-02-15 08:15:57 +00:00
Bas Schouten 296f494160 Bug 1524554: Ensure Canvas surfaces are initialized on the main thread and ensure their validity. r=rhunt
This isn't the prettiest solution but it's minimally invasive. More long-term a better solution may be to expose a call on DrawTargets to ensure their initialization even if they're on the main thread. IsValid probably isn't a good candidate for this as we want it to be usable freely on the main thread to ensure none of the basic conditions of the surface are still valid.

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

--HG--
extra : rebase_source : 2b2f05a247ea8c6896288624c5620501592e3dcc
2019-02-01 13:18:55 +01: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
Ryan Hunt 084c9b6f4c Allocate TextureReadLock at TextureClient creation and drop file handles immediately after. (bug 1416726, r=aosmond)
This changes the lifecycle and API for TextureReadLock to fix file descriptor exhaustion
crashes. These changes are partially superficial and mostly align the API of TextureReadLocks
with their actual usage.

The changes are:

1. Create the TextureReadLock in the TextureClient constructor so it's available before IPC creation
    a. This is superficial as EnableReadLock was always called before IPC creation
2. Send the ReadLockDescriptor in the PTextureConstructor message and close the file handle
3. Receive the ReadLockDescriptor in TextureHost and close the file handle
4. Send a boolean flag in layer transactions if the texture is read locked instead of a descriptor
5. Use a boolean flag in TextureHost to determine if the ReadLock must be unlocked instead of a nullptr

I believe that we can remove the InitReadLocks code from LayerTransaction as that was added to
prevent file descriptor limits in IPDL messages and is no longer needed with this change. But
that is a non-essential change and this patch is already big enough.

MozReview-Commit-ID: DzHujrOQejH

--HG--
extra : rebase_source : 3bdd7c9bc8edfdc386faad8a9e59ad7dc18ed91d
2018-03-12 08:10:13 -05:00
peter chang f0d71f5a55 Bug 1418791 - Explicit free the resource of PersistentBufferProviderBasic, r=sotaro
MozReview-Commit-ID: JJXYkF5PR5K

--HG--
extra : rebase_source : 86217890ee8a6e5d26b1b26cc063d42c6793c903
2017-11-23 16:31:55 +08:00
sotaro 222b1d574f Bug 1411472 - Add support of PersistentBufferProviderShared r=nical 2017-11-16 14:47:26 +09: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
Nicolas Silva 36605f9e7b Bug 1300121 - Make PersistentBufferProviderShared::BorrowDrawTarget more robust agaist bad edge cases and if all fails, fallback to the basic provider. r=Bas 2016-10-11 13:23:11 +02:00
Andi-Bogdan Postelnicu f93ddb39f5 Bug 1317637 - Converts for(...; ...; ...) loops to use the new range-based loops in C++11 in gfx/. r=jrmuizel
MozReview-Commit-ID: Dd6426wCbMg

--HG--
extra : rebase_source : 9e849faba30642b273bc5a0e0a74355ba160173e
2016-11-15 10:55:49 +02:00
Sylvestre Ledru d6ef1e706d Bug 1317430 - Avoid a unnecessary copy by passing a const & in gfx/ r=nical
MozReview-Commit-ID: 4AHG1queVe6

--HG--
extra : rebase_source : cd678e951710321c798b5ca617f39b18f82bea77
2016-11-14 23:16:18 +01:00
Matt Woodrow a0aad01631 Bug 1305897 - Move ActiveResourceTracker onto ShadowLayerForwarder, since it's not used anywhere else. r=nical 2016-10-03 21:20:13 +13:00
Matt Woodrow 55f506db9f Bug 1281456 - Decouple TextureForwarder and CompositableForwarder. r=gw280 2016-09-27 16:22:20 +13:00
Sebastian Hengst 548f7778a1 Backed out changeset e0d755ab4cbd (bug 1302380) for timeouts reftest with e10s invariable-declaration-XX.html on Linux 32 bit. r=backout 2016-09-16 18:55:44 +02:00
Nicolas Silva f4d4ceeeed Bug 1302380 - Report canvas memory usage through the buffer provider. r=gw280 2016-09-16 10:13:19 +02:00
Nicolas Silva 569564c271 Bug 1291163 - Make sure TextureHosts are read-unlock'ed if Compositor::EndFrame is not called. r=sotaro 2016-08-09 18:19:01 +02:00
Nicolas Silva 36eabd3917 Bug 1291296 - Make it possible to change a PersistentBufferProvider's Forwarder without crashing. r=ethlin 2016-08-09 14:42:15 +02:00
Nicolas Silva a4ee782267 Bug 1289380 - Simplify PersistentBufferProviderShared. r=edwin 2016-07-27 16:50:20 +02:00
Nicolas Silva 144561ee0b Bug 1284721 - Flush CanvasRenderingContext2D's DrawTarget when returning it to the BufferProvider. r=lsalzman 2016-07-11 17:44:27 +02:00
Wes Kocher 743746da45 Backed out changeset b966ababca8d (bug 1284721) for bustage CLOSED TREE
***
Backed out 3 changesets (bug 1284721, bug 1285207) for bustage CLOSED TREE

Backed out changeset 75f6c7e15d76 (bug 1284721)
Backed out changeset b7f2d54f3904 (bug 1285207)
Backed out changeset fceb3f145f91 (bug 1284721)

--HG--
extra : amend_source : b849891c44fd8704c0f601cf58ebeac13c88e2e6
extra : histedit_source : 54c8ef4b974c761a774260ec11e28d29013e0378%2C4d2cb79fbedcdabb4ea4fc52dcd26618bef2225e
2016-07-08 12:17:06 -07:00
Nicolas Silva 5a6fb6e9ec Bug 1284721 - Partially backout some changes that got incidentally folded into the wrong patch. r=me 2016-07-08 19:35:36 +02:00
Nicolas Silva b51ed22a3f Bug 1284721 - Flush CanvasRenderingContext2D's DrawTarget before handing it off to the BufferProvider. r=lsalzman 2016-07-08 19:26:48 +02:00
Nicolas Silva 6837c5c2f2 Bug 1167235 - Part 4 - Forward the shutdown notification to CanvasRenderingContext2D. r=Bas 2016-07-01 10:58:18 +02:00
Nicolas Silva d7bdab458f Bug 1167235 - Part 3 - Use TextureReadLock to optimize canvas copy-on-writes. r=Bas 2016-07-01 10:58:16 +02:00
Nicolas Silva 55982c743c Bug 1167235 - Part 1 - Render canvas2D into TextureClient directly. r=Bas 2016-07-01 10:58:06 +02:00
Sebastian Hengst 51e7f34222 Backed out changeset 14dfa550c783 (bug 1167235) 2016-06-28 20:28:23 +02:00
Sebastian Hengst 3dfd5773f2 Backed out changeset 6ee8762044bd (bug 1167235) 2016-06-28 20:28:23 +02:00
Sebastian Hengst 7f0473d085 Backed out changeset f534fcb785c9 (bug 1167235) 2016-06-28 20:28:22 +02:00
Nicolas Silva f8343772b9 Bug 1167235 - Part 4 - Forward the shutdown notification to CanvasRenderingContext2D. r=Bas 2016-06-28 14:07:00 +02:00
Nicolas Silva 607b38fffa Bug 1167235 - Part 3 - Use TextureReadLock to optimize canvas copy-on-writes. r=Bas 2016-06-28 14:06:57 +02:00
Nicolas Silva 9367516d33 Bug 1167235 - Part 1 - Render canvas2D into TextureClient directly. r=Bas 2016-06-28 14:06:51 +02:00
Vincent Liu 62a02d2e47 Bug 1198574 - Remove unnecessary argument for PersistentBufferProvider. r=bas 2015-08-26 18:58:18 +08: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
Bas Schouten 03d7b7630c Bug 1167235 - Part 1: Add code exposing a PersistentBufferProvider. r=nical 2015-06-19 01:07:21 +02:00