Skip to content

Commit dcc9b10

Browse files
authored
Merge pull request #1252 from nnethercote/add-webrender-2022-b
Add `webrender 2022` again
2 parents 8bc1363 + e1d1d3a commit dcc9b10

File tree

1,258 files changed

+184504
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,258 files changed

+184504
-0
lines changed

collector/benchmarks/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,10 @@ They mostly consist of real-world crates.
4646
utilities. Uses huge `match` statements that stress the compiler in unusual
4747
ways.
4848
- **webrender**: A web renderer. Used by Firefox and Servo.
49+
- **webrender-2022**: A web renderer. A large, complex crate used by Firefox
50+
and Servo. Webrender isn't released regularly so this is a development
51+
version (revision da1df33). The `-2022` suffix distinguishes it from earlier
52+
Webrender versions that used to be used in this benchmark suite.
4953

5054
## Secondary
5155

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
target/
2+
*~
3+
*#
4+
5+
# WR internals
6+
captures
7+
wrench/json_frames
8+
wrench/ron_frames
9+
10+
# Editors
11+
*.swp
12+
*.swo
13+
14+
# IntelliJ
15+
.idea
16+
*.iws
17+
*.iml
18+
19+
# Gradle
20+
.gradle
21+
22+
# VSCode
23+
.vscode
24+
.vs
25+
26+
# System
27+
.fuse_hidden*
Lines changed: 180 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,180 @@
1+
# This file specifies the configuration needed to test WebRender using the
2+
# Taskcluster infrastructure. Most of this should be relatively
3+
# self-explanatory; this file was originally generated by using the
4+
# Taskcluster-GitHub integration quickstart tool which no longer exists.
5+
#
6+
# See https://community-tc.services.mozilla.com/docs
7+
version: 1
8+
policy:
9+
pullRequests: public
10+
11+
# This file triggers a set of tasks; the ones targeting Linux are run in a docker
12+
# container using docker-worker (which is a worker type provided by TaskCluster).
13+
# The OS X ones are run in a custom worker type, for which we have worker
14+
# instances configured and running.
15+
tasks:
16+
$if: 'tasks_for in ["github-push", "github-pull-request"]'
17+
then:
18+
$let:
19+
should_run:
20+
$if: 'tasks_for == "github-push"'
21+
# for pushes, run on any branch but master
22+
then: {$eval: 'event.ref != "refs/heads/master"'}
23+
# for PRs, run for opened and synchronized events
24+
else: {$eval: 'event.action in ["opened", "synchronize"]'}
25+
repo_url:
26+
$if: 'tasks_for == "github-push"'
27+
then: ${event.repository.clone_url}
28+
else: ${event.pull_request.head.repo.clone_url}
29+
sha:
30+
$if: 'tasks_for == "github-push"'
31+
then: ${event.after}
32+
else: ${event.pull_request.head.sha}
33+
login: ${event.sender.login}
34+
branch:
35+
$if: 'tasks_for == "github-push"'
36+
then:
37+
$if: 'event.ref[:11] == "refs/heads/"'
38+
then: ${event.ref[11:]}
39+
else: ${event.ref}
40+
else: ${event.pull_request.head.ref}
41+
in:
42+
$if: should_run
43+
then:
44+
# For the docker-worker tasks, the Docker image used
45+
# (staktrace/webrender-test:debian-v9) was created using the Dockerfile in
46+
# ci-scripts/docker-image.
47+
#
48+
# The docker image may need to be updated over time if the set of required
49+
# packages increases. Note in particular that rust/cargo are not part of the
50+
# docker image, and are re-installed using rustup on each CI run. This ensures
51+
# the latest stable rust compiler is always used.
52+
# CI runs will be triggered on opening PRs, updating PRs, and pushes to the
53+
# repository.
54+
- metadata:
55+
name: Linux release tests
56+
description: Runs release-mode WebRender CI stuff on a Linux TC worker
57+
58+
source: ${repo_url}
59+
provisionerId: proj-webrender
60+
workerType: ci-linux
61+
deadline: {$fromNow: '1 day'}
62+
payload:
63+
maxRunTime: 7200
64+
image: 'staktrace/webrender-test:debian-v9'
65+
env:
66+
RUST_BACKTRACE: 'full'
67+
RUSTFLAGS: '--deny warnings'
68+
command:
69+
- /bin/bash
70+
- '--login'
71+
- '-c'
72+
- >-
73+
curl https://sh.rustup.rs -sSf | sh -s -- -y &&
74+
source $HOME/.cargo/env &&
75+
git clone ${repo_url} webrender && cd webrender &&
76+
git checkout ${sha} &&
77+
servo-tidy &&
78+
ci-scripts/install-meson.sh &&
79+
export PATH=$PATH:$PWD/meson &&
80+
ci-scripts/linux-release-tests.sh
81+
routes:
82+
- "index.project.webrender.ci.${login}.${branch}.linux-release"
83+
- metadata:
84+
name: Linux debug tests
85+
description: Runs debug-mode WebRender CI stuff on a Linux TC worker
86+
87+
source: ${repo_url}
88+
provisionerId: proj-webrender
89+
workerType: ci-linux
90+
deadline: {$fromNow: '1 day'}
91+
payload:
92+
maxRunTime: 7200
93+
image: 'staktrace/webrender-test:debian-v9'
94+
env:
95+
RUST_BACKTRACE: 'full'
96+
RUSTFLAGS: '--deny warnings'
97+
command:
98+
- /bin/bash
99+
- '--login'
100+
- '-c'
101+
- >-
102+
curl https://sh.rustup.rs -sSf | sh -s -- -y &&
103+
source $HOME/.cargo/env &&
104+
git clone ${repo_url} webrender && cd webrender &&
105+
git checkout ${sha} &&
106+
servo-tidy &&
107+
ci-scripts/install-meson.sh &&
108+
export PATH=$PATH:$PWD/meson &&
109+
ci-scripts/linux-debug-tests.sh
110+
routes:
111+
- "index.project.webrender.ci.${login}.${branch}.linux-debug"
112+
# For the OS X jobs we use a pool of machines that we are managing, because
113+
# Mozilla releng doesn't have any spare OS X machines for us at this time.
114+
# Talk to :kats or :jrmuizel if you need more details about this. The machines
115+
# are hooked up to taskcluster using taskcluster-worker; they use a workerpool
116+
# of proj-webrender/ci-macos. They are set up with all the dependencies needed
117+
# to build and test webrender, including Rust (currently 1.41.1), servo-tidy,
118+
# mako, zlib, etc. Note that unlike the docker-worker used for Linux, these
119+
# machines WILL persist state from one run to the next, so any cleanup needs
120+
# to be handled explicitly.
121+
122+
# macOS tasks currently disabled, see bug 1639217.
123+
# - metadata:
124+
# name: OS X release tests
125+
# description: Runs release-mode WebRender CI stuff on a OS X TC worker
126+
127+
# source: ${repo_url}
128+
# provisionerId: 'proj-webrender'
129+
# workerType: 'ci-macos'
130+
# deadline: {$fromNow: '1 day'}
131+
# payload:
132+
# maxRunTime: 3600
133+
# command:
134+
# - - /bin/bash
135+
# - '--login'
136+
# - '-vec'
137+
# - |
138+
# git clone ${repo_url} webrender
139+
# cd webrender
140+
# git checkout ${sha}
141+
# source $HOME/servotidy-venv/bin/activate
142+
# servo-tidy
143+
# export RUST_BACKTRACE=full
144+
# export RUSTFLAGS='--deny warnings'
145+
# export PKG_CONFIG_PATH="/usr/local/opt/zlib/lib/pkgconfig:$PKG_CONFIG_PATH"
146+
# echo 'exec make -j1 "$@"' > $HOME/make # See #2638
147+
# chmod +x $HOME/make
148+
# export MAKE="$HOME/make"
149+
# ci-scripts/macos-release-tests.sh
150+
# routes:
151+
# - "index.project.webrender.ci.${login}.${branch}.osx-release"
152+
# - metadata:
153+
# name: OS X debug tests
154+
# description: Runs debug-mode WebRender CI stuff on a OS X TC worker
155+
156+
# source: ${repo_url}
157+
# provisionerId: 'proj-webrender'
158+
# workerType: 'ci-macos'
159+
# deadline: {$fromNow: '1 day'}
160+
# payload:
161+
# maxRunTime: 3600
162+
# command:
163+
# - - /bin/bash
164+
# - '--login'
165+
# - '-vec'
166+
# - |
167+
# git clone ${repo_url} webrender
168+
# cd webrender
169+
# git checkout ${sha}
170+
# source $HOME/servotidy-venv/bin/activate
171+
# servo-tidy
172+
# export RUST_BACKTRACE=full
173+
# export RUSTFLAGS='--deny warnings'
174+
# export PKG_CONFIG_PATH="/usr/local/opt/zlib/lib/pkgconfig:$PKG_CONFIG_PATH"
175+
# echo 'exec make -j1 "$@"' > $HOME/make # See #2638
176+
# chmod +x $HOME/make
177+
# export MAKE="$HOME/make"
178+
# ci-scripts/macos-debug-tests.sh
179+
# routes:
180+
# - "index.project.webrender.ci.${login}.${branch}.osx-debug"
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
diff --git a/webrender/src/scene.rs b/webrender/src/scene.rs
2+
index 864ed683..08ec78dc 100644
3+
--- a/webrender/src/scene.rs
4+
+++ b/webrender/src/scene.rs
5+
@@ -34,6 +34,7 @@ pub struct SceneProperties {
6+
7+
impl SceneProperties {
8+
pub fn new() -> Self {
9+
+ println!("testing");
10+
SceneProperties {
11+
transform_properties: FastHashMap::default(),
12+
float_properties: FastHashMap::default(),

0 commit comments

Comments
 (0)