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
Перейти к файлу
Dzmitry Malyshau 0bf19769e6 Bug 1519718 - WR mix-blend rewrite r=gw
This is a new implementation of mix-blend compositing that is meant to be more idiomatic to WR and efficient.

Previously, mix-blend mode was composed in the following way:
  1. parent stacking context was forced to isolate
  2. source picture is also isolated
  3. when rendering the isolated context, the framebuffer is read upon reaching the source. Both the readback and the source are placed in the RT cache.
  4. a mix-blend draw call is issued to read from those cache segments and blend on top of the backdrop

The new implementation works by using the picture cutting (intruduced for preserve-3D contexts earlier) and some bits of magic:
  1. backdrop stacking context is isolated with a special composition mode that prevents it from actually rendeing unless the suorce stacking context is invisible.
  2. source stacking context is isolated with mix-blend composition mode that has a pointer to the backdrop picture
  3. the instance of the backdrop picture is placed as a peer of the source picture (not a child)
  4. if the backdrop is invisible, the source is drawn as a simple blit
  5. otherwise, it's a draw call that reads from the isolated backdrop and source textures

Note the differences:
  - parent stacking context is not isolated, but backdrop is
  - no framebuffer readback is involved
  - the source and backdrop pictures are rendered in parallel in a pass, improving the batching
  - we don't blend onto the backdrop while reading from the backdrop copy at the same time
  - the depth of the render pass tree is reduced: previously the parent and the source were isolated, now the source and the backdrop, which are siblings

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

--HG--
rename : gfx/wr/wrench/reftests/blend/multiply-2-ref.yaml => gfx/wr/wrench/reftests/blend/multiply-3-ref.yaml
rename : gfx/wr/wrench/reftests/blend/multiply-3.yaml => gfx/wr/wrench/reftests/blend/multiply-4.yaml
extra : moz-landing-system : lando
2019-02-25 00:17:22 +00:00
.cargo Bug 1525392 - update rkv (and LMDB) to their latest stable versions r=froydnj 2019-02-11 19:53:28 +00:00
.vscode Bug 1514820 - Recommend a VSCode extension for IDL language highlighting r=jya 2018-12-18 19:43:33 +00:00
accessible Bug 919508 - layout: add more tests for text inspection from accessibility layer r=jfkthame 2019-02-22 22:13:06 +01:00
browser Bug 1525319 - Removing context from OnDataAvailable r=valentin 2019-02-24 20:27:55 +00:00
build Bug 1500941 - Add a clang mangling crash workaround. r=dmajor 2019-02-23 04:14:20 +00:00
caps Bug 1528677: Remove nullchecks for loadinfo since we have loadinfo on all channels. r=baku 2019-02-20 13:27:25 +01:00
chrome Bug 1528971: Move newChannel2 being the only implementation within nsIProtocolHandler.idl. r=valentin 2019-02-19 19:20:37 +01:00
config Bug 1349064 - Add <regex> to config/std-headers. r=froydnj 2019-02-21 11:23:58 -08:00
db Bug 1526125 - Upgrade to SQLite 3.27.1. r=mak 2019-02-15 08:45:10 +00:00
devtools Bug 1525319 - Removing context from OnDataAvailable r=valentin 2019-02-24 20:27:55 +00:00
docshell Bug 1525319 - Removing context from OnDataAvailable r=valentin 2019-02-24 20:27:55 +00:00
dom Bug 1525319 - Removing context from OnDataAvailable r=valentin 2019-02-24 20:27:55 +00:00
editor Bug 1529177 - Make InsertTagCommand::DoCommandParams() use nsGkAtoms to set attribute r=m_kato 2019-02-22 08:19:37 +00:00
embedding Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-01-24 08:11:00 +00:00
extensions Bug 1525319 - Removing context from OnDataAvailable r=valentin 2019-02-24 20:27:55 +00:00
gfx Bug 1519718 - WR mix-blend rewrite r=gw 2019-02-25 00:17:22 +00:00
gradle/wrapper Bug 1509572 - Part 1: Bump Gradle wrapper to 4.10.2; decouple script from Gradle version. r=snorp 2018-11-26 21:42:27 +00:00
hal Bug 1523974 - Map PROCESS_PRIORITY_BACKGROUND_PERCEIVABLE to BELOW_NORMAL_PRIORITY_CLASS on Windows. r=gsvelto 2019-02-04 22:54:05 +00:00
image Bug 1525319 - Removing context from OnDataAvailable r=valentin 2019-02-24 20:27:55 +00:00
intl Backed out changeset d28d0498bd7b (bug 1517493) for bc failures at browser_firstPartyIsolation_saveAs.js 2019-02-21 14:28:56 +02:00
ipc Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-02-21 11:42:10 +02:00
js Merge mozilla-inbound to mozilla-central a=merge 2019-02-23 06:15:14 +02:00
layout Bug 1519718 - WR mix-blend rewrite r=gw 2019-02-25 00:17:22 +00:00
media Bug 1525319 - Removing context from OnDataAvailable r=valentin 2019-02-24 20:27:55 +00:00
memory Bug 1349064 - Wrap std::regex_error for GCC. r=glandium 2019-02-21 11:23:59 -08:00
mfbt Merge mozilla-inbound to mozilla-central. a=merge 2019-02-15 03:41:17 +02:00
mobile Bug 1525319 - Removing context from OnDataAvailable r=valentin 2019-02-24 20:27:55 +00:00
modules Bug 1525319 - Removing context from OnDataAvailable r=valentin 2019-02-24 20:27:55 +00:00
mozglue Bug 1529647: Fix a straggling unused variable warning; r=dmajor 2019-02-22 19:28:57 +00:00
netwerk Bug 1525319 - Removing context from OnDataAvailable r=valentin 2019-02-24 20:27:55 +00:00
nsprpub Bug 1526010, NSPR_4_21_BETA2, r=me 2019-02-21 10:04:05 +01:00
other-licenses Bug 1523118 atk: Implement scrollsubstringto ATK API. r=surkov 2019-01-26 20:38:53 +01:00
parser Bug 1525319 - Removing context from OnDataAvailable r=valentin 2019-02-24 20:27:55 +00:00
python Backed out changeset d28d0498bd7b (bug 1517493) for bc failures at browser_firstPartyIsolation_saveAs.js 2019-02-21 14:28:56 +02:00
security Bug 1525319 - Removing context from OnDataAvailable r=valentin 2019-02-24 20:27:55 +00:00
services Bug 1525319 - Removing context from OnDataAvailable r=valentin 2019-02-24 20:27:55 +00:00
servo Bug 1529422 - Part 2: Let GetScaleValue support individual transforms. r=hiro,emilio 2019-02-24 03:27:51 +00:00
startupcache Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre 2019-01-18 10:16:18 +01:00
storage Bug 1524687: Part 12 - Convert everything else to static registration. r=erahm 2019-01-29 16:03:41 -08:00
taskcluster Bug 1527394: Squash docker images before exporting/compressing them r=tomprince 2019-02-23 17:16:43 +00:00
testing Bug 1525319 - Removing context from OnDataAvailable r=valentin 2019-02-24 20:27:55 +00:00
third_party Bug 1527104 - use rkv::OwnedValue instead of internal OwnedValue in kvstore r=nika 2019-02-15 18:33:30 +00:00
toolkit Bug 1525319 - Removing context from OnDataAvailable r=valentin 2019-02-24 20:27:55 +00:00
tools Merge inbound to mozilla-central. a=merge 2019-02-22 07:27:40 +02:00
uriloader Bug 1525319 - Removing context from OnDataAvailable r=valentin 2019-02-24 20:27:55 +00:00
view Bug 1354933. Assert that the frame pointer is null in the nsView destructor. r=mats 2019-02-14 23:07:21 -06:00
widget Bug 1525319 - Removing context from OnDataAvailable r=valentin 2019-02-24 20:27:55 +00:00
xpcom Merge mozilla-inbound to mozilla-central. a=merge 2019-02-21 05:42:03 +02:00
xpfe/appshell Bug 1524687: Part 12 - Convert everything else to static registration. r=erahm 2019-01-29 16:03:41 -08:00
.arcconfig Bug 1460463 - Update .arcconfig to make history mutable; r=gps 2018-05-09 23:49:52 +00:00
.clang-format Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre 2019-01-18 10:16:18 +01:00
.clang-format-ignore Bug 1528492 - Add cbor-cpp to the thirdparty list r=jcj 2019-02-17 01:03:40 +00:00
.cron.yml Bug 1514087: [taskgraph] Add an option to not optimize target tasks in cron graphs; r=dustin 2018-12-26 14:43:34 +00:00
.eslintignore Bug 1490671 - Add FxA device pairing. r=markh,rfkelly,vladikoff,flod 2019-02-21 20:58:04 +00:00
.eslintrc.js Bug 1515942 - Enable ESLint for gfx/ (manual fixes). r=kats 2018-12-27 09:45:01 +00:00
.flake8 Bug 1515746 - [flake8] Unsupport subdir .flake8 files and use new 'per-file-ignores' config instead, r=egao 2019-02-07 20:17:02 +00:00
.gdbinit Bug 1486903 - Add "ftl" command to dump frame subtree to .gdbinit. r=Ehsan 2018-08-28 20:20:21 +00:00
.gdbinit_python
.git-blame-ignore-revs Merge mozilla-inbound to mozilla-central. a=merge 2019-01-22 05:56:10 +02:00
.gitignore Bug 1521864 - It should be possible to open the debugger in a tab. r=davidwalsh 2019-02-21 14:56:47 +00:00
.hg-annotate-ignore-revs Bug 1508324 - Generate list of past changesets to be skipped for blame. r=me NPOTB DONTBUILD 2018-12-27 18:08:25 -02:00
.hg-format-source Bug 1511181 - Quick fix for .hg-format-source that has an empty line. r=ehsan, a=aryx 2018-11-30 13:25:44 +02:00
.hgignore Bug 1525638 - Let hg ignore the build directories of WebRender standalone builds. r=ted 2019-02-11 13:37:44 +00:00
.hgtags No bug - Tagging mozilla-central 5d9c5aa981a5b824e6132c923c2f201b3fa49397 with FIREFOX_NIGHTLY_66_END a=release DONTBUILD CLOSED TREE 2019-01-28 04:56:31 -08:00
.lldbinit Bug 1481555: Use lldb's python API to summarise nsAtoms. r=froydnj 2018-08-08 15:11:22 +00:00
.mailmap
.taskcluster.yml Bug 1524358 - get commit message locally, rather than from task parameters r=tomprince 2019-02-01 23:27:48 +00:00
.trackerignore Bug 1486468 - Add .trackerignore file to avoid GNOME Tracker indexing mozilla-central files. r=ahal 2018-08-27 16:45:03 +02:00
.yamllint
.ycm_extra_conf.py Bug 1522135 - Make .ycm_extra_conf.py work with python3. r=jgraham 2019-01-24 13:51:28 +01:00
AUTHORS Bug 1481409 - Use HTTPS protocol for Mozilla's Credits link in AUTHORS file r=mossop 2018-08-13 16:39:30 +00:00
CLOBBER Backed out 9 changesets (bug 1521879) for flake failures at /transforms/tests.py. CLOSED TREE 2019-02-21 19:32:31 +02:00
Cargo.lock Merge mozilla-inbound to mozilla-central. a=merge 2019-02-15 20:39:45 +02:00
Cargo.toml Bug 1525392 - update rkv (and LMDB) to their latest stable versions r=froydnj 2019-02-11 19:53:28 +00:00
GNUmakefile
LEGAL
LICENSE
Makefile.in Bug 1529195 - Allow to opt-in to symbols/host-bin artifacts from the CLI. r=chmanchester 2019-02-21 22:53:43 +00:00
README.txt Bug 1480997 - Remove "Mozilla FTP server" link in README.txt r=mossop 2018-10-23 10:06:29 +00:00
aclocal.m4 Bug 1519603 - Manually inline AC_OUTPUT_SUBDIRS and MOZ_RUN_ALL_SUBCONFIGURES. r=nalexander 2019-01-14 18:37:06 +00:00
build.gradle Bug 1514374 - Remove workaround for accessibility-test-framework. r=nalexander,geckoview-reviewers,snorp 2019-02-20 17:44:23 +00:00
client.mk Bug 1498031 - Merge code paths for running configure between Tup and Make based backends. r=firefox-build-system-reviewers,mshal 2018-10-16 22:21:36 +00:00
client.py
configure.in
configure.py Bug 1528241 - Add a trace mode to python configure that logs internal values. r=chmanchester 2019-02-20 07:46:22 +09:00
gradle.properties Bug 1527896 - Increase Gradle heaps to handle large assets. r=nalexander 2019-02-14 18:21:13 +00:00
gradlew
mach
moz.build Bug 1507334 - Add mozconfigs for 3-stage PGO; r=firefox-build-system-reviewers,chmanchester#firefox-build-system-reviewers 2019-01-10 01:34:49 +00:00
moz.configure Bug 1512504 - Remove support for MSVC. r=froydnj 2019-02-14 21:45:27 +00:00
mozilla-config.h.in Bug 1504022 - Map GetExceptionCode to a nop to avoid an error r=bobowen 2018-11-02 13:28:01 -05:00
old-configure.in Merge mozilla-central to autoland. 2019-02-15 20:50:34 +02:00
package-lock.json Bug 1517707. Update ESLint related modules to latest versions. r=mossop 2019-01-04 16:44:49 +00:00
package.json Bug 1517707. Update ESLint related modules to latest versions. r=mossop 2019-01-04 16:44:49 +00:00
settings.gradle Bug 1444546 - Part 2: Build annotationProcessors with Gradle. r=jchen 2018-02-22 16:11:14 -08:00
test.mozbuild

README.txt

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.]

Nightly development builds can be downloaded from:

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

Keep in mind that nightly builds, which are used by Mozilla developers for
testing, may be buggy.