Commit Graph

20 Commits

Author SHA1 Message Date
Dzmitry Malyshau
59b6551dd5 Bug 1638672 - Use shaders to clear texture cache regions r=geckoview-reviewers,gw,snorp
This is a suggested workaround for an interesting visual bug that we see on
some platforms with Intel Broadwell GPUs.

Also reverts https://phabricator.services.mozilla.com/D57100

Differential Revision: https://phabricator.services.mozilla.com/D78705
2020-06-08 21:05:03 +00:00
Bert Peers
49849153e7 Bug 1628175 - WebGL is drawn into the picture cache and then onto the screen r=gw
Part 1 - support RGB external surfaces for promotion to compositor
surfaces; add new shader permutations to handle all buffer kinds.
Set the promotion flag when the pixel format has no alpha, or when the
texture provider can guarantee all-solid alpha values.

Differential Revision: https://phabricator.services.mozilla.com/D71120
2020-04-30 07:08:17 +00:00
Brindusan Cristian
f33d38c284 Backed out changeset 8433832c8f09 (bug 1628175) for reftest failures at 817019-1.html. CLOSED TREE 2020-04-28 21:33:46 +03:00
Bert Peers
b91a3eabe0 Bug 1628175 - WebGL is drawn into the picture cache and then onto the screen r=gw
Part 1 - support RGB external surfaces for promotion to compositor
surfaces; add new shader permutations to handle all buffer kinds.
Set the promotion flag when the pixel format has no alpha, or when the
texture provider can guarantee all-solid alpha values.

Differential Revision: https://phabricator.services.mozilla.com/D71120
2020-04-27 19:38:02 +00:00
Jamie Nicol
5acad1e764 Bug 1631778 - Ensure webrender's shaders.rs is filled deterministically. r=jrmuizel
The list of pre-optimized shaders was being generated in a
non-deterministic order, causing large build time regressions. This
sort the list of shaders before writing them to the shaders.rs file.

Differential Revision: https://phabricator.services.mozilla.com/D71905
2020-04-22 13:51:13 +00:00
Lee Salzman
cc83337f4b Bug 1632025 - fix SWGL shader key parsing. r=jimb
Differential Revision: https://phabricator.services.mozilla.com/D71874
2020-04-22 03:39:21 +00:00
Jamie Nicol
f548e9a284 Bug 1604615 - Optimize webrender shaders at build time. r=gw
Move more shader parsing code to webrender_build, so it can be used
both at runtime and build time.

At build time optimize a set of shaders and feature flag combinations,
using glslopt. Some features are skipped because they are not
supported by the gl version, because the optimizer does not support
them, or because webrender does not need them currently.

Use build-parallel to ensure the optimization is performed in parallel
using the make jobserver. Write the optimized shader source to a
hashmap to be used at runtime, in addition to the unoptimized source.

Differential Revision: https://phabricator.services.mozilla.com/D70032
2020-04-21 10:32:03 +00:00
Lee Salzman
9cb73ab9c6 Bug 1624396 - implement centralized shader features list management for WebRender. r=gw,jrmuizel,jnicol
Differential Revision: https://phabricator.services.mozilla.com/D67958

--HG--
extra : moz-landing-system : lando
2020-03-24 22:21:25 +00:00
=?UTF-8?q?Felix=20Sch=C3=BCtt?=
b9f75b4710 Bug 1621026 - Remove sha256 from dependencies r=nical
[import_pr] From https://github.com/servo/webrender/pull/3875

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

--HG--
extra : moz-landing-system : lando
2020-03-11 09:06:53 +00:00
Nicolas Silva
c255d09b64 Bug 1594128 - Dynamically choose the brush kind in the shader. r=gw
This is an experiment with only image and solid to see what the infrastructure can be like.
If it works out I'll extend the it with more brush types. More work will be needed to get text rendering in there as well.

The multi-brush shader includes all brushes that it potentially needs suport for. Which brushes actually get compiled in is then specified via WR_FEATURE defines.
Since brushes can't have the same names for their entry points, they specify the function to use via a macros (WR_BRUSH_VS_FUNCTION and WR_BRUSH_FS_FUNCTION).

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

--HG--
extra : moz-landing-system : lando
2019-11-27 13:22:48 +00:00
Nicolas Silva
dfceba9e8e Bug 1594128 - Only include shader sources once during parsing. r=gw
This chanes the shader parsing code to only inject #included shader sources once (the first time) if they are included multiple times.
This will allow some extra flexibility needed by the multi-brush shader.

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

--HG--
extra : moz-landing-system : lando
2019-11-27 13:22:47 +00:00
Andreea Pavel
7ef47b6e1f Backed out 12 changesets (bug 1594128) because of rendering regressions a=backout
Backed out changeset 39f51911efa8 (bug 1594128)
Backed out changeset a8ee6dbf146b (bug 1594128)
Backed out changeset beeeb1889588 (bug 1594128)
Backed out changeset 84e767a37637 (bug 1594128)
Backed out changeset 54efcc9976cf (bug 1594128)
Backed out changeset 5768997fb391 (bug 1594128)
Backed out changeset 0d89ea8665df (bug 1594128)
Backed out changeset ba4668d01dc5 (bug 1594128)
Backed out changeset e5f6739f790d (bug 1594128)
Backed out changeset 550591122788 (bug 1594128)
Backed out changeset 6386aa316da9 (bug 1594128)
Backed out changeset 6762aab18459 (bug 1594128)
2019-11-27 13:41:58 +02:00
Nicolas Silva
e914c3b495 Bug 1594128 - Dynamically choose the brush kind in the shader. r=gw
This is an experiment with only image and solid to see what the infrastructure can be like.
If it works out I'll extend the it with more brush types. More work will be needed to get text rendering in there as well.

The multi-brush shader includes all brushes that it potentially needs suport for. Which brushes actually get compiled in is then specified via WR_FEATURE defines.
Since brushes can't have the same names for their entry points, they specify the function to use via a macros (WR_BRUSH_VS_FUNCTION and WR_BRUSH_FS_FUNCTION).

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

--HG--
extra : moz-landing-system : lando
2019-11-25 20:01:48 +00:00
Nicolas Silva
30a2b2634d Bug 1594128 - Only include shader sources once during parsing. r=gw
This chanes the shader parsing code to only inject #included shader sources once (the first time) if they are included multiple times.
This will allow some extra flexibility needed by the multi-brush shader.

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

--HG--
extra : moz-landing-system : lando
2019-11-25 20:01:47 +00:00
Ciure Andrei
a05312fec5 Backed out 11 changesets (bug 1594128) for several regressions a=backout
Backed out changeset 7a29d7acf94c (bug 1594128)
Backed out changeset f83f356ca522 (bug 1594128)
Backed out changeset 6b339f631b3d (bug 1594128)
Backed out changeset a215df75f72f (bug 1594128)
Backed out changeset a2717dc2c87b (bug 1594128)
Backed out changeset 4077b95429c0 (bug 1594128)
Backed out changeset 0af881b4707a (bug 1594128)
Backed out changeset bb21ea50b1e9 (bug 1594128)
Backed out changeset 912718966a67 (bug 1594128)
Backed out changeset 74554530a510 (bug 1594128)
Backed out changeset e894fff26e42 (bug 1594128)

--HG--
extra : histedit_source : d3b0d207e2747d2a01261588de8dc0610032a3e0
2019-11-25 01:01:43 +02:00
Nicolas Silva
e9fa42a649 Bug 1594128 - Dynamically choose the brush kind in the shader. r=gw
This is an experiment with only image and solid to see what the infrastructure can be like.
If it works out I'll extend the it with more brush types. More work will be needed to get text rendering in there as well.

The multi-brush shader includes all brushes that it potentially needs suport for. Which brushes actually get compiled in is then specified via WR_FEATURE defines.
Since brushes can't have the same names for their entry points, they specify the function to use via a macros (WR_BRUSH_VS_FUNCTION and WR_BRUSH_FS_FUNCTION).

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

--HG--
extra : moz-landing-system : lando
2019-11-21 17:37:01 +00:00
Nicolas Silva
d4e6130aa7 Bug 1594128 - Only include shader sources once during parsing. r=gw
This chanes the shader parsing code to only inject #included shader sources once (the first time) if they are included multiple times.
This will allow some extra flexibility needed by the multi-brush shader.

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

--HG--
extra : moz-landing-system : lando
2019-11-21 17:36:46 +00:00
Alexis Beingessner
63afa58e9a Bug 1525402 - Mark all gfx/wr crates as Rust 2018. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D29569

--HG--
extra : moz-landing-system : lando
2019-05-07 01:39:22 +00:00
Nicolas Silva
cb6ed5e452 Bug 1527884 - Make webrender_build publishable. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D20134

--HG--
extra : moz-landing-system : lando
2019-02-19 16:06:01 +00:00
WR Updater Bot
e48bc104ff Bug 1517616 - Update webrender to commit a5b036eced81dcfc012f1335277af595f931fb11 (WR PRs #3463 and #3464). r=kats
https://github.com/servo/webrender/pull/3463
https://github.com/servo/webrender/pull/3464

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

--HG--
extra : moz-landing-system : lando
2019-01-04 04:21:27 +00:00