Read-only Git mirror of the Mercurial gecko repositories at https://hg.mozilla.org. How to contribute: https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html
Go to file
Doug Thayer ac1648320e Bug 1265824 - Wait on texture handles with IPC r=jld,mattwoodrow
There's a lot going on here, but it all fits under the idea of
being able to communicate about texture locking statuses
without spinning on IsReadLocked. This is a bit of a trade -
we could just always allocate/grab a texture from the pool,
which would put a smaller cap on the amount of time we can
possibly spend when a texture is locked. However, this eats
up more CPU and memory than waiting on the textures to unlock,
and could take longer, especially if there were a large number
of textures which we just need to wait for for a short amount
of time. In any case, we very rarely hit the case where we
actually need to wait on the sync IPC to the compositor - most
of the time the textures are already unlocked.

There is also an async IPC call in here, which we make before
flushing async paints. This just causes the compositor to
check whether the GPU is done with its textures or not and
unlock them if it is. This helps us avoid the case where we
take a long time painting asynchronously, turn IPC back on at
the end of that, and then have to wait for the compositor
to to get into TiledLayerBufferComposite::UseTiles before
getting a response. Specifically this eliminates several talos
regressions which use ASAP mode.

Lastly, there seem to be no other cases of static Monitors
being used. This seems like it falls under similar use cases
as StaticMutexes, so I added it in. I can move it into its own
file if we think it might be generally useful in the future.

MozReview-Commit-ID: IYQLwUqMxg2

--HG--
extra : rebase_source : 67f6fee8b89933561a48e6f7f531b6969893a574
2018-05-05 15:46:26 -07:00
.cargo Bug 1468950 - Update serde_derive patch for changes in WR PR 2819. r=Gankro 2018-06-21 08:15:40 -04:00
.vscode Bug 1423565 - Update tasks.json as per documentation. r=rillian 2017-12-06 14:59:35 +01:00
accessible Backed out 2 changesets (bug 1473690) for jsat/test_content_integration.html failures CLOSED TREE 2018-07-22 06:55:41 +03:00
browser Backed out changeset f840add2cdd4 (bug 1474163) for causing mochitest frequent leaks. 2018-07-23 16:29:05 +03:00
build Backed out 6 changesets (bug 1451104) for causing build bustages on OS X Cross Compiled. CLOSED TREE 2018-07-21 03:18:37 +03:00
caps Bug 1476928 - Remove nsIURI.CloneIgnoringRef and nsIURI.CloneWithNewRef r=JuniorHsu 2018-07-23 11:28:47 +00:00
chrome Bug 1449791 - Remove platform support of overlays. r=bz 2018-03-28 18:20:04 -07:00
config Bug 1476874 - Only link object once in static libraries. r=froydnj 2018-07-19 16:30:19 +09:00
db Bug 1467121 - Upgrade to SQLite 3.24.0. r=mak 2018-06-06 09:52:32 -04:00
devtools Bug 1477290 - Disable flashing with storage inspector endless scrolling. r=miker 2018-07-20 16:36:59 +01:00
docshell Bug 1475559 part 2 - Rename JS::IsSavedFrame to JS::IsMaybeWrappedSavedFrame and do some minor cleanup. r=bz 2018-07-21 14:32:25 +02:00
dom Bug 1472324: Update Worklet: s/import/addModule. r=baku,karlt 2018-07-10 14:24:14 +02:00
editor Bug 1476906 - Change nsIHTMLEditor::ReplaceHeadContentsWithHTML() to a non-virtual method of HTMLEditor r=m_kato 2018-07-19 21:31:19 +09:00
embedding Bug 1431533: Part 5a - Auto-rewrite code to use ChromeUtils import methods. r=florian 2018-01-29 15:20:18 -08:00
extensions Bug 1477540 - Use RemoveLastElement instead of PopLastElement r=bhackett 2018-07-22 16:23:57 +02:00
gfx Bug 1265824 - Wait on texture handles with IPC r=jld,mattwoodrow 2018-05-05 15:46:26 -07:00
gradle/wrapper Bug 1411654 - Part 1: Upgrade to Android-Gradle 3.0+ and build-tools;26.0.2. r=maliu 2017-10-26 11:00:36 -07:00
hal Backed out changeset 73ed61535854 (bug 1394710) for braking Gecko Decision Task. CLOSED TREE 2018-07-18 23:29:28 +03:00
image Bug 1476928 - Remove nsIURI.CloneIgnoringRef and nsIURI.CloneWithNewRef r=JuniorHsu 2018-07-23 11:28:47 +00:00
intl Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-07-18 12:40:51 +03:00
ipc Bug 1265824 - Wait on texture handles with IPC r=jld,mattwoodrow 2018-05-05 15:46:26 -07:00
js Merge mozilla-inbound to mozilla-central. a=merge 2018-07-23 12:30:50 +03:00
layout Bug 1403425 - Pass aListID to nsContainerFrame from nsColumnSetFrame::SetInitialChildList. r=dholbert 2018-07-23 10:32:03 +10:00
media Merge mozilla-inbound to mozilla-central. a=merge 2018-07-21 00:42:01 +03:00
memory Bug 1465452 Part 5 - Don't record some jemalloc atomics, r=njn. 2018-07-21 14:30:33 +00:00
mfbt Bug 1465452 Part 6 - Don't record assertion crashing flag, r=froydnj. 2018-07-21 14:31:21 +00:00
mobile Backed out 2 changesets (bug 1473690) for jsat/test_content_integration.html failures CLOSED TREE 2018-07-22 06:55:41 +03:00
modules Bug 1476928 - Remove nsIURI.CloneIgnoringRef and nsIURI.CloneWithNewRef r=JuniorHsu 2018-07-23 11:28:47 +00:00
mozglue Bug 1465452 Part 1 - Allow platform mutexes to specify whether they are recorded, r=froydnj. 2018-07-21 14:28:21 +00:00
netwerk Bug 1448846: Ignore POLLERR on UDP sockets. r=dragana 2018-07-02 11:52:02 -05:00
nsprpub Bug 1432480, land NSPR_4_19_RTM, no code changes, only version numbers. Require version 4.19 for building. r=me 2018-03-05 17:05:18 +01:00
other-licenses Bug 1448804 Part 1 - NSIS plugin for creating unelevated processes from an elevated [un]installer. r=aklotz 2018-07-09 10:49:36 -07:00
parser Bug 1476820 - Convert some VarCache prefs in dom/security/ to use StaticPrefs. r=ckerschb 2018-07-19 10:43:29 +10:00
python Backed out changeset f19f8d717c6b (bug 1447932) for build bustages on test_fastermake. CLOSED TREE 2018-07-23 14:41:16 +03:00
security Backed out changeset 469f678d1f15 for xpcshell failures on test_remote_settings_poll.js. CLOSED TREE 2018-07-23 15:26:37 +03:00
services Backed out changeset 469f678d1f15 for xpcshell failures on test_remote_settings_poll.js. CLOSED TREE 2018-07-23 15:26:37 +03:00
servo Bug 1475511: Add @-moz-document media-document(image|video|plugin). r=xidorn 2018-07-21 23:02:17 +02:00
startupcache Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
storage Bug 1476009: Remove unnecessary initialization. r=mak 2018-07-16 17:56:02 +01:00
taskcluster Bug 1467555 - Make Android single-locale nightlies tier-2. r=Callek 2018-07-21 21:30:12 -04:00
testing Bug 1474537 - CSP 'self' should translate to 'self' and not be resolved to actual self URI. r=dveditz 2018-07-22 18:08:17 +02:00
third_party Bug 1477400. Update Cargo lockfiles and re-vendor rust dependencies 2018-07-21 12:54:38 -04:00
toolkit Backed out changeset f840add2cdd4 (bug 1474163) for causing mochitest frequent leaks. 2018-07-23 16:29:05 +03:00
tools Bug 1465452 Part 7 - Don't record a profiler atomic, r=njn. 2018-07-21 14:32:11 +00:00
uriloader Bug 1463809 - Don't lookup mimeinfo of application/octet-stream; r=Paolo 2018-07-19 15:46:26 +02:00
view Bug 1462784 - Remove EVENTS category. r=njn 2018-05-18 17:36:30 -04:00
widget Bug 1475193 - Use nsWindow::IsComposited() where possible, r=jhorak 2018-07-12 11:51:38 +02:00
xpcom Bug 1265824 - Add StaticMonitor r=froydnj 2018-06-29 15:27:22 -07:00
xpfe/appshell Bug 1472087 - deCOMtaminate nsIDocShellLoadInfo; r=nika 2018-07-11 20:19:14 -07:00
.arcconfig Bug 1460463 - Update .arcconfig to make history mutable; r=gps 2018-05-09 23:49:52 +00:00
.clang-format
.clang-format-ignore Bug 1464452 - Add richtext to the list of thirdparties r=andi 2018-05-25 09:01:11 -07:00
.cron.yml Bug 1469803 Update cron bouncer check to use product-details r=rail 2018-06-29 18:41:42 +00:00
.eslintignore Bug 1344286 - Fix eslint errors from devtools files ignored previously; r=gregtatum,ntim 2018-06-16 15:45:58 +05:30
.eslintrc.js Bug 1436303 - Enable mozilla/no-define-cc-etc for some DevTools files;r=ochameau,standard8 2018-06-08 16:46:59 +02:00
.flake8 Bug 1468273 - Add closure-lib and intl/icu into the flake8 ignore list r=ahal 2018-06-12 23:11:40 -07:00
.gdbinit
.gdbinit_python
.gitignore Bug 1475904 - Add .swp files (for open, unnamed vim buffers) to .gitignore. r=froydnj 2018-07-16 12:26:13 +10:00
.hgignore Bug 1469801 - Add gcov-related files to .hgignore. r=jmaher (DONTBUILD) 2018-06-20 11:05:46 +01:00
.hgtags No bug - Tagging mozilla-central 4f6e597104dabedfecfafa2ab63dc79fd7f8bc7a with FIREFOX_NIGHTLY_62_END a=release DONTBUILD CLOSED TREE 2018-06-25 09:31:32 -07:00
.inferconfig
.lldbinit
.mailmap NO BUG - Use ato's new address. r=me 2018-02-26 15:59:29 +00:00
.taskcluster.yml Bug 1470886 - only produce tasks for recognized tasks_for; r=tomprince 2018-07-03 18:07:42 +00:00
.yamllint
.ycm_extra_conf.py
aclocal.m4
AUTHORS Bug 1459852 - Get rid of the AUTHORS list r=mossop 2018-05-08 10:37:41 +02:00
build.gradle Bug 1385464 - Start using support library v. 26; r=nalexander 2018-07-13 17:16:37 +03:00
Cargo.lock Bug 1477400. Update Cargo lockfiles and re-vendor rust dependencies 2018-07-21 12:54:38 -04:00
Cargo.toml Bug 1474871 - Link dump_syms against rustc-demangle. r=ted 2018-07-12 10:23:12 +09:00
client.mk Bug 1461836 - Write out complete configure dependencies from configure for consumption by make and non-make backends. r=mshal 2018-05-21 14:01:50 -07:00
client.py
CLOBBER Backed out 6 changesets (bug 1451104) for causing build bustages on OS X Cross Compiled. CLOSED TREE 2018-07-21 03:18:37 +03:00
configure.in
configure.py Bug 1461836 - Write out complete configure dependencies from configure for consumption by make and non-make backends. r=mshal 2018-05-21 14:01:50 -07:00
GNUmakefile
gradle.properties Bug 1453413 - Use aapt2 to build Firefox for Android. r=mcomella 2018-04-11 09:59:22 -07:00
gradlew
LEGAL
LICENSE
mach
Makefile.in Bug 1444171 - use the order file during re-link with clang-cl; r=glandium 2018-07-09 18:36:14 -04:00
moz.build Bug 1346026 - Vendor pipenv 2018.5.18 and transient dependencies; r=ahal 2018-05-17 19:06:20 +01:00
moz.configure Bug 1469091 - Build the clang plugin as a host shared library. r=ted 2018-07-05 14:58:09 +09:00
mozilla-config.h.in Bug 1463637: Remove mozilla-config.h hacks for Hunspell extra includes. r=ted 2018-05-22 20:36:39 -07:00
old-configure.in Bug 1473872 - Start targeting API 26; r=nalexander 2018-07-06 16:57:36 +03:00
package-lock.json Bug 1475504 - Don't change package-lock.json when running 'npm install' due to Lint setup. r=ahal 2018-07-13 15:53:32 +00:00
package.json Bug 1464100 - Update eslint-plugin-no-unsanitized to v3.0.2. r=ahal 2018-05-24 16:54:54 +01:00
Pipfile Bug 1472201 - Vendor pytest 3.6.2 and dependencies; r=ahal 2018-06-29 15:37:31 +01:00
Pipfile.lock Bug 1472201 - Vendor pytest 3.6.2 and dependencies; r=ahal 2018-06-29 15:37:31 +01:00
README.txt Bug 1460030 - Update the nightly URL in the README.txt file r=kohei 2018-05-08 21:22:10 +02:00
settings.gradle Bug 1444546 - Part 2: Build annotationProcessors with Gradle. r=jchen 2018-02-22 16:11:14 -08:00
test.mozbuild

An explanation of the Mozilla Source Code Directory Structure and links to
project pages with documentation can be found at:

    https://developer.mozilla.org/en/Mozilla_Source_Code_Directory_Structure

For information on how to build Mozilla from the source code, see:

    https://developer.mozilla.org/en/docs/Build_Documentation

To have your bug fix / feature added to Mozilla, you should create a patch and
submit it to Bugzilla (https://bugzilla.mozilla.org). Instructions are at:

    https://developer.mozilla.org/en/docs/Creating_a_patch
    https://developer.mozilla.org/en/docs/Getting_your_patch_in_the_tree

If you have a question about developing Mozilla, and can't find the solution
on https://developer.mozilla.org, you can try asking your question in a
mozilla.* Usenet group, or on IRC at irc.mozilla.org. [The Mozilla news groups
are accessible on Google Groups, or news.mozilla.org with a NNTP reader.]

You can download nightly development builds from the Mozilla FTP server.
Keep in mind that nightly builds, which are used by Mozilla developers for
testing, may be buggy. Firefox nightlies, for example, can be found at:

    https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/
            - or -
    https://www.mozilla.org/firefox/channel/desktop/#nightly