Bug 1507524 - Move webrender to gfx/wr. r=jrmuizel
authorKartikaya Gupta <kgupta@mozilla.com>
Thu, 22 Nov 2018 21:47:48 +0000
changeset 447756 89caaea53d18aaf2d4b90b98a2f989a8cdc7062b
parent 447755 45a6e295e8bf27d638079bf5a6ef38e6629fc40a
child 447757 57c4ae4edecad603cf84f8bceab57765c0859987
push id35088
push usershindli@mozilla.com
push dateFri, 23 Nov 2018 09:37:59 +0000
treeherdermozilla-central@ad6143ff142d [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjrmuizel
bugs1507524
milestone65.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1507524 - Move webrender to gfx/wr. r=jrmuizel This patch copies the webrender repository contents into gfx/wr. The existing files from gfx/webrender, gfx/webrender_api, and gfx/wrench are moved, and the remaining files are added. The revision being used is the same as before. In addition, the mozilla-central top-level Cargo.toml and the gfx/webrender_bindings/Cargo.toml files are updated to reflect the new structure. Differential Revision: https://phabricator.services.mozilla.com/D12059
Cargo.toml
gfx/webrender/Cargo.toml
gfx/webrender/build.rs
gfx/webrender/doc/CLIPPING_AND_POSITIONING.md
gfx/webrender/doc/blob.md
gfx/webrender/doc/text-rendering.md
gfx/webrender/res/Proggy.ttf
gfx/webrender/res/area-lut.tga
gfx/webrender/res/base.glsl
gfx/webrender/res/brush.glsl
gfx/webrender/res/brush_blend.glsl
gfx/webrender/res/brush_image.glsl
gfx/webrender/res/brush_linear_gradient.glsl
gfx/webrender/res/brush_mix_blend.glsl
gfx/webrender/res/brush_radial_gradient.glsl
gfx/webrender/res/brush_solid.glsl
gfx/webrender/res/brush_yuv_image.glsl
gfx/webrender/res/clip_shared.glsl
gfx/webrender/res/cs_blur.glsl
gfx/webrender/res/cs_border_segment.glsl
gfx/webrender/res/cs_border_solid.glsl
gfx/webrender/res/cs_clip_box_shadow.glsl
gfx/webrender/res/cs_clip_image.glsl
gfx/webrender/res/cs_clip_rectangle.glsl
gfx/webrender/res/cs_line_decoration.glsl
gfx/webrender/res/cs_scale.glsl
gfx/webrender/res/debug_color.glsl
gfx/webrender/res/debug_font.glsl
gfx/webrender/res/ellipse.glsl
gfx/webrender/res/gpu_cache.glsl
gfx/webrender/res/gpu_cache_update.glsl
gfx/webrender/res/pf_vector_cover.glsl
gfx/webrender/res/pf_vector_stencil.glsl
gfx/webrender/res/prim_shared.glsl
gfx/webrender/res/ps_split_composite.glsl
gfx/webrender/res/ps_text_run.glsl
gfx/webrender/res/rect.glsl
gfx/webrender/res/render_task.glsl
gfx/webrender/res/shared.glsl
gfx/webrender/res/shared_other.glsl
gfx/webrender/res/snap.glsl
gfx/webrender/res/transform.glsl
gfx/webrender/src/batch.rs
gfx/webrender/src/border.rs
gfx/webrender/src/box_shadow.rs
gfx/webrender/src/capture.rs
gfx/webrender/src/clip.rs
gfx/webrender/src/clip_scroll_tree.rs
gfx/webrender/src/debug_colors.rs
gfx/webrender/src/debug_font_data.rs
gfx/webrender/src/debug_render.rs
gfx/webrender/src/debug_server.rs
gfx/webrender/src/device/gl.rs
gfx/webrender/src/device/mod.rs
gfx/webrender/src/device/query_gl.rs
gfx/webrender/src/display_list_flattener.rs
gfx/webrender/src/ellipse.rs
gfx/webrender/src/frame_builder.rs
gfx/webrender/src/freelist.rs
gfx/webrender/src/gamma_lut.rs
gfx/webrender/src/glyph_cache.rs
gfx/webrender/src/glyph_rasterizer/mod.rs
gfx/webrender/src/glyph_rasterizer/no_pathfinder.rs
gfx/webrender/src/glyph_rasterizer/pathfinder.rs
gfx/webrender/src/gpu_cache.rs
gfx/webrender/src/gpu_glyph_renderer.rs
gfx/webrender/src/gpu_types.rs
gfx/webrender/src/hit_test.rs
gfx/webrender/src/image.rs
gfx/webrender/src/intern.rs
gfx/webrender/src/internal_types.rs
gfx/webrender/src/lib.rs
gfx/webrender/src/picture.rs
gfx/webrender/src/platform/macos/font.rs
gfx/webrender/src/platform/unix/font.rs
gfx/webrender/src/platform/windows/font.rs
gfx/webrender/src/prim_store.rs
gfx/webrender/src/print_tree.rs
gfx/webrender/src/profiler.rs
gfx/webrender/src/record.rs
gfx/webrender/src/render_backend.rs
gfx/webrender/src/render_task.rs
gfx/webrender/src/renderer.rs
gfx/webrender/src/resource_cache.rs
gfx/webrender/src/scene.rs
gfx/webrender/src/scene_builder.rs
gfx/webrender/src/segment.rs
gfx/webrender/src/shade.rs
gfx/webrender/src/spatial_node.rs
gfx/webrender/src/surface.rs
gfx/webrender/src/texture_allocator.rs
gfx/webrender/src/texture_cache.rs
gfx/webrender/src/tiling.rs
gfx/webrender/src/util.rs
gfx/webrender/tests/angle_shader_validation.rs
gfx/webrender/tests/bug_124.html
gfx/webrender/tests/bug_134.html
gfx/webrender/tests/bug_137.html
gfx/webrender/tests/bug_143.html
gfx/webrender/tests/bug_159.html
gfx/webrender/tests/bug_166.html
gfx/webrender/tests/bug_176.html
gfx/webrender/tests/bug_177.html
gfx/webrender/tests/bug_178.html
gfx/webrender/tests/bug_203a.html
gfx/webrender/tests/bug_203b.html
gfx/webrender/tests/bug_servo_10136.html
gfx/webrender/tests/bug_servo_10164.html
gfx/webrender/tests/bug_servo_10307.html
gfx/webrender/tests/bug_servo_11358.html
gfx/webrender/tests/bug_servo_9983a.html
gfx/webrender/tests/color_pattern_1.png
gfx/webrender/tests/color_pattern_2.png
gfx/webrender/tests/fixed-position.html
gfx/webrender/tests/mix-blend-mode-2.html
gfx/webrender/tests/mix-blend-mode.html
gfx/webrender/tests/nav-1.html
gfx/webrender/tests/nav-2.html
gfx/webrender_api/Cargo.toml
gfx/webrender_api/src/api.rs
gfx/webrender_api/src/channel.rs
gfx/webrender_api/src/channel_ipc.rs
gfx/webrender_api/src/channel_mpsc.rs
gfx/webrender_api/src/color.rs
gfx/webrender_api/src/display_item.rs
gfx/webrender_api/src/display_list.rs
gfx/webrender_api/src/font.rs
gfx/webrender_api/src/gradient_builder.rs
gfx/webrender_api/src/image.rs
gfx/webrender_api/src/lib.rs
gfx/webrender_api/src/units.rs
gfx/webrender_bindings/Cargo.toml
gfx/wr/.gitignore
gfx/wr/.taskcluster.yml
gfx/wr/Cargo.lock
gfx/wr/Cargo.toml
gfx/wr/LICENSE
gfx/wr/README.md
gfx/wr/appveyor.yml
gfx/wr/debugger/.babelrc
gfx/wr/debugger/.editorconfig
gfx/wr/debugger/.gitignore
gfx/wr/debugger/README.md
gfx/wr/debugger/dist/build.js
gfx/wr/debugger/index.html
gfx/wr/debugger/package.json
gfx/wr/debugger/src/App.vue
gfx/wr/debugger/src/components/ClipScrollTreeViewPage.vue
gfx/wr/debugger/src/components/DocumentViewPage.vue
gfx/wr/debugger/src/components/NavBar.vue
gfx/wr/debugger/src/components/NavMenu.vue
gfx/wr/debugger/src/components/OptionsPage.vue
gfx/wr/debugger/src/components/PassViewPage.vue
gfx/wr/debugger/src/components/RenderTaskViewPage.vue
gfx/wr/debugger/src/components/ScreenshotPage.vue
gfx/wr/debugger/src/components/TreeView.vue
gfx/wr/debugger/src/main.js
gfx/wr/debugger/src/store/index.js
gfx/wr/debugger/webpack.config.js
gfx/wr/direct-composition/Cargo.toml
gfx/wr/direct-composition/src/com.rs
gfx/wr/direct-composition/src/egl.rs
gfx/wr/direct-composition/src/lib.rs
gfx/wr/direct-composition/src/main.rs
gfx/wr/direct-composition/src/main_windows.rs
gfx/wr/examples/Cargo.toml
gfx/wr/examples/README.md
gfx/wr/examples/alpha_perf.rs
gfx/wr/examples/animation.rs
gfx/wr/examples/basic.rs
gfx/wr/examples/blob.rs
gfx/wr/examples/common/boilerplate.rs
gfx/wr/examples/common/image_helper.rs
gfx/wr/examples/document.rs
gfx/wr/examples/frame_output.rs
gfx/wr/examples/iframe.rs
gfx/wr/examples/image_resize.rs
gfx/wr/examples/multiwindow.rs
gfx/wr/examples/scrolling.rs
gfx/wr/examples/texture_cache_stress.rs
gfx/wr/examples/yuv.rs
gfx/wr/rustfmt.toml
gfx/wr/servo-tidy.toml
gfx/wr/webrender/Cargo.toml
gfx/wr/webrender/build.rs
gfx/wr/webrender/doc/CLIPPING_AND_POSITIONING.md
gfx/wr/webrender/doc/blob.md
gfx/wr/webrender/doc/text-rendering.md
gfx/wr/webrender/res/Proggy.ttf
gfx/wr/webrender/res/area-lut.tga
gfx/wr/webrender/res/base.glsl
gfx/wr/webrender/res/brush.glsl
gfx/wr/webrender/res/brush_blend.glsl
gfx/wr/webrender/res/brush_image.glsl
gfx/wr/webrender/res/brush_linear_gradient.glsl
gfx/wr/webrender/res/brush_mix_blend.glsl
gfx/wr/webrender/res/brush_radial_gradient.glsl
gfx/wr/webrender/res/brush_solid.glsl
gfx/wr/webrender/res/brush_yuv_image.glsl
gfx/wr/webrender/res/clip_shared.glsl
gfx/wr/webrender/res/cs_blur.glsl
gfx/wr/webrender/res/cs_border_segment.glsl
gfx/wr/webrender/res/cs_border_solid.glsl
gfx/wr/webrender/res/cs_clip_box_shadow.glsl
gfx/wr/webrender/res/cs_clip_image.glsl
gfx/wr/webrender/res/cs_clip_rectangle.glsl
gfx/wr/webrender/res/cs_line_decoration.glsl
gfx/wr/webrender/res/cs_scale.glsl
gfx/wr/webrender/res/debug_color.glsl
gfx/wr/webrender/res/debug_font.glsl
gfx/wr/webrender/res/ellipse.glsl
gfx/wr/webrender/res/gpu_cache.glsl
gfx/wr/webrender/res/gpu_cache_update.glsl
gfx/wr/webrender/res/pf_vector_cover.glsl
gfx/wr/webrender/res/pf_vector_stencil.glsl
gfx/wr/webrender/res/prim_shared.glsl
gfx/wr/webrender/res/ps_split_composite.glsl
gfx/wr/webrender/res/ps_text_run.glsl
gfx/wr/webrender/res/rect.glsl
gfx/wr/webrender/res/render_task.glsl
gfx/wr/webrender/res/shared.glsl
gfx/wr/webrender/res/shared_other.glsl
gfx/wr/webrender/res/snap.glsl
gfx/wr/webrender/res/transform.glsl
gfx/wr/webrender/src/batch.rs
gfx/wr/webrender/src/border.rs
gfx/wr/webrender/src/box_shadow.rs
gfx/wr/webrender/src/capture.rs
gfx/wr/webrender/src/clip.rs
gfx/wr/webrender/src/clip_scroll_tree.rs
gfx/wr/webrender/src/debug_colors.rs
gfx/wr/webrender/src/debug_font_data.rs
gfx/wr/webrender/src/debug_render.rs
gfx/wr/webrender/src/debug_server.rs
gfx/wr/webrender/src/device/gl.rs
gfx/wr/webrender/src/device/mod.rs
gfx/wr/webrender/src/device/query_gl.rs
gfx/wr/webrender/src/display_list_flattener.rs
gfx/wr/webrender/src/ellipse.rs
gfx/wr/webrender/src/frame_builder.rs
gfx/wr/webrender/src/freelist.rs
gfx/wr/webrender/src/gamma_lut.rs
gfx/wr/webrender/src/glyph_cache.rs
gfx/wr/webrender/src/glyph_rasterizer/mod.rs
gfx/wr/webrender/src/glyph_rasterizer/no_pathfinder.rs
gfx/wr/webrender/src/glyph_rasterizer/pathfinder.rs
gfx/wr/webrender/src/gpu_cache.rs
gfx/wr/webrender/src/gpu_glyph_renderer.rs
gfx/wr/webrender/src/gpu_types.rs
gfx/wr/webrender/src/hit_test.rs
gfx/wr/webrender/src/image.rs
gfx/wr/webrender/src/intern.rs
gfx/wr/webrender/src/internal_types.rs
gfx/wr/webrender/src/lib.rs
gfx/wr/webrender/src/picture.rs
gfx/wr/webrender/src/platform/macos/font.rs
gfx/wr/webrender/src/platform/unix/font.rs
gfx/wr/webrender/src/platform/windows/font.rs
gfx/wr/webrender/src/prim_store.rs
gfx/wr/webrender/src/print_tree.rs
gfx/wr/webrender/src/profiler.rs
gfx/wr/webrender/src/record.rs
gfx/wr/webrender/src/render_backend.rs
gfx/wr/webrender/src/render_task.rs
gfx/wr/webrender/src/renderer.rs
gfx/wr/webrender/src/resource_cache.rs
gfx/wr/webrender/src/scene.rs
gfx/wr/webrender/src/scene_builder.rs
gfx/wr/webrender/src/segment.rs
gfx/wr/webrender/src/shade.rs
gfx/wr/webrender/src/spatial_node.rs
gfx/wr/webrender/src/storage.rs
gfx/wr/webrender/src/surface.rs
gfx/wr/webrender/src/texture_allocator.rs
gfx/wr/webrender/src/texture_cache.rs
gfx/wr/webrender/src/tiling.rs
gfx/wr/webrender/src/util.rs
gfx/wr/webrender/tests/angle_shader_validation.rs
gfx/wr/webrender/tests/bug_124.html
gfx/wr/webrender/tests/bug_134.html
gfx/wr/webrender/tests/bug_137.html
gfx/wr/webrender/tests/bug_143.html
gfx/wr/webrender/tests/bug_159.html
gfx/wr/webrender/tests/bug_166.html
gfx/wr/webrender/tests/bug_176.html
gfx/wr/webrender/tests/bug_177.html
gfx/wr/webrender/tests/bug_178.html
gfx/wr/webrender/tests/bug_203a.html
gfx/wr/webrender/tests/bug_203b.html
gfx/wr/webrender/tests/bug_servo_10136.html
gfx/wr/webrender/tests/bug_servo_10164.html
gfx/wr/webrender/tests/bug_servo_10307.html
gfx/wr/webrender/tests/bug_servo_11358.html
gfx/wr/webrender/tests/bug_servo_9983a.html
gfx/wr/webrender/tests/color_pattern_1.png
gfx/wr/webrender/tests/color_pattern_2.png
gfx/wr/webrender/tests/fixed-position.html
gfx/wr/webrender/tests/mix-blend-mode-2.html
gfx/wr/webrender/tests/mix-blend-mode.html
gfx/wr/webrender/tests/nav-1.html
gfx/wr/webrender/tests/nav-2.html
gfx/wr/webrender_api/Cargo.toml
gfx/wr/webrender_api/src/api.rs
gfx/wr/webrender_api/src/channel.rs
gfx/wr/webrender_api/src/channel_ipc.rs
gfx/wr/webrender_api/src/channel_mpsc.rs
gfx/wr/webrender_api/src/color.rs
gfx/wr/webrender_api/src/display_item.rs
gfx/wr/webrender_api/src/display_list.rs
gfx/wr/webrender_api/src/font.rs
gfx/wr/webrender_api/src/gradient_builder.rs
gfx/wr/webrender_api/src/image.rs
gfx/wr/webrender_api/src/lib.rs
gfx/wr/webrender_api/src/units.rs
gfx/wr/wrench/.gitignore
gfx/wr/wrench/Cargo.toml
gfx/wr/wrench/README.md
gfx/wr/wrench/benchmarks/aligned-gradient.yaml
gfx/wr/wrench/benchmarks/benchmarks.list
gfx/wr/wrench/benchmarks/box-shadow-large.yaml
gfx/wr/wrench/benchmarks/large-blur-radius.yaml
gfx/wr/wrench/benchmarks/large-boxshadow-ellipse-2.yaml
gfx/wr/wrench/benchmarks/large-boxshadow-ellipse.yaml
gfx/wr/wrench/benchmarks/large-clip-rect.yaml
gfx/wr/wrench/benchmarks/many-box-shadows.yaml
gfx/wr/wrench/benchmarks/many-images.yaml
gfx/wr/wrench/benchmarks/overlapping-text-shadows.yaml
gfx/wr/wrench/benchmarks/radial-gradient.yaml
gfx/wr/wrench/benchmarks/simple-batching.yaml
gfx/wr/wrench/benchmarks/text-rendering.yaml
gfx/wr/wrench/benchmarks/transforms-simple.yaml
gfx/wr/wrench/benchmarks/unaligned-gradient.yaml
gfx/wr/wrench/build.rs
gfx/wr/wrench/reftests/aa/aa-dist-bug-ref.yaml
gfx/wr/wrench/reftests/aa/aa-dist-bug.yaml
gfx/wr/wrench/reftests/aa/reftest.list
gfx/wr/wrench/reftests/aa/rounded-rects-ref.png
gfx/wr/wrench/reftests/aa/rounded-rects.yaml
gfx/wr/wrench/reftests/backface/backface-both-sides-ref.yaml
gfx/wr/wrench/reftests/backface/backface-both-sides.yaml
gfx/wr/wrench/reftests/backface/backface-double-flip.yaml
gfx/wr/wrench/reftests/backface/backface-hidden.yaml
gfx/wr/wrench/reftests/backface/backface-leaf.yaml
gfx/wr/wrench/reftests/backface/backface-picture-ref.yaml
gfx/wr/wrench/reftests/backface/backface-picture.yaml
gfx/wr/wrench/reftests/backface/backface-ref.yaml
gfx/wr/wrench/reftests/backface/backface-sc.yaml
gfx/wr/wrench/reftests/backface/blank.yaml
gfx/wr/wrench/reftests/backface/reftest.list
gfx/wr/wrench/reftests/blend/blank.yaml
gfx/wr/wrench/reftests/blend/canvas-ref.yaml
gfx/wr/wrench/reftests/blend/canvas.yaml
gfx/wr/wrench/reftests/blend/darken-ref.yaml
gfx/wr/wrench/reftests/blend/darken.yaml
gfx/wr/wrench/reftests/blend/difference-ref.yaml
gfx/wr/wrench/reftests/blend/difference-transparent-ref.yaml
gfx/wr/wrench/reftests/blend/difference-transparent.yaml
gfx/wr/wrench/reftests/blend/difference.yaml
gfx/wr/wrench/reftests/blend/isolated-2-ref.yaml
gfx/wr/wrench/reftests/blend/isolated-2.yaml
gfx/wr/wrench/reftests/blend/isolated-premultiplied-2-ref.yaml
gfx/wr/wrench/reftests/blend/isolated-premultiplied-2.yaml
gfx/wr/wrench/reftests/blend/isolated-premultiplied.yaml
gfx/wr/wrench/reftests/blend/isolated-ref.yaml
gfx/wr/wrench/reftests/blend/isolated-with-filter.yaml
gfx/wr/wrench/reftests/blend/isolated.yaml
gfx/wr/wrench/reftests/blend/large-ref.yaml
gfx/wr/wrench/reftests/blend/large.yaml
gfx/wr/wrench/reftests/blend/lighten-ref.yaml
gfx/wr/wrench/reftests/blend/lighten.yaml
gfx/wr/wrench/reftests/blend/multi-mix-blend-mode-ref.yaml
gfx/wr/wrench/reftests/blend/multi-mix-blend-mode.yaml
gfx/wr/wrench/reftests/blend/multiply-2-ref.yaml
gfx/wr/wrench/reftests/blend/multiply-2.yaml
gfx/wr/wrench/reftests/blend/multiply-ref.yaml
gfx/wr/wrench/reftests/blend/multiply.yaml
gfx/wr/wrench/reftests/blend/reftest.list
gfx/wr/wrench/reftests/blend/repeated-difference-ref.yaml
gfx/wr/wrench/reftests/blend/repeated-difference.yaml
gfx/wr/wrench/reftests/blend/transparent-composite-1-ref.yaml
gfx/wr/wrench/reftests/blend/transparent-composite-1.yaml
gfx/wr/wrench/reftests/blend/transparent-composite-2-ref.yaml
gfx/wr/wrench/reftests/blend/transparent-composite-2.yaml
gfx/wr/wrench/reftests/blend/transparent-white.png
gfx/wr/wrench/reftests/border/blank.yaml
gfx/wr/wrench/reftests/border/border-clamp-corner-radius.png
gfx/wr/wrench/reftests/border/border-clamp-corner-radius.yaml
gfx/wr/wrench/reftests/border/border-dashed-dotted-caching.png
gfx/wr/wrench/reftests/border/border-dashed-dotted-caching.yaml
gfx/wr/wrench/reftests/border/border-double-simple-2-ref.yaml
gfx/wr/wrench/reftests/border/border-double-simple-2.yaml
gfx/wr/wrench/reftests/border/border-double-simple-ref.yaml
gfx/wr/wrench/reftests/border/border-double-simple.yaml
gfx/wr/wrench/reftests/border/border-gradient-nine-patch.png
gfx/wr/wrench/reftests/border/border-gradient-nine-patch.yaml
gfx/wr/wrench/reftests/border/border-gradient-simple-ref.yaml
gfx/wr/wrench/reftests/border/border-gradient-simple.yaml
gfx/wr/wrench/reftests/border/border-groove-simple-ref.yaml
gfx/wr/wrench/reftests/border/border-groove-simple.yaml
gfx/wr/wrench/reftests/border/border-image-crash-ref.yaml
gfx/wr/wrench/reftests/border/border-image-crash.yaml
gfx/wr/wrench/reftests/border/border-image-fill-ref.png
gfx/wr/wrench/reftests/border/border-image-fill.yaml
gfx/wr/wrench/reftests/border/border-image-ref.png
gfx/wr/wrench/reftests/border/border-image-src.png
gfx/wr/wrench/reftests/border/border-image.yaml
gfx/wr/wrench/reftests/border/border-invisible-ref.yaml
gfx/wr/wrench/reftests/border/border-invisible.yaml
gfx/wr/wrench/reftests/border/border-no-bogus-line-ref.png
gfx/wr/wrench/reftests/border/border-no-bogus-line.yaml
gfx/wr/wrench/reftests/border/border-none-ref.yaml
gfx/wr/wrench/reftests/border/border-none.yaml
gfx/wr/wrench/reftests/border/border-radial-gradient-nine-patch.png
gfx/wr/wrench/reftests/border/border-radial-gradient-nine-patch.yaml
gfx/wr/wrench/reftests/border/border-radial-gradient-simple-ref.yaml
gfx/wr/wrench/reftests/border/border-radial-gradient-simple.yaml
gfx/wr/wrench/reftests/border/border-radii.png
gfx/wr/wrench/reftests/border/border-radii.yaml
gfx/wr/wrench/reftests/border/border-ridge-simple-ref.yaml
gfx/wr/wrench/reftests/border/border-ridge-simple.yaml
gfx/wr/wrench/reftests/border/border-suite-2.png
gfx/wr/wrench/reftests/border/border-suite-2.yaml
gfx/wr/wrench/reftests/border/border-suite-3.png
gfx/wr/wrench/reftests/border/border-suite-3.yaml
gfx/wr/wrench/reftests/border/border-suite.png
gfx/wr/wrench/reftests/border/border-suite.yaml
gfx/wr/wrench/reftests/border/degenerate-curve.png
gfx/wr/wrench/reftests/border/degenerate-curve.yaml
gfx/wr/wrench/reftests/border/discontinued-dash.png
gfx/wr/wrench/reftests/border/discontinued-dash.yaml
gfx/wr/wrench/reftests/border/dotted-corner-small-radius.png
gfx/wr/wrench/reftests/border/dotted-corner-small-radius.yaml
gfx/wr/wrench/reftests/border/green-square.yaml
gfx/wr/wrench/reftests/border/no-aa.yaml
gfx/wr/wrench/reftests/border/overlapping.png
gfx/wr/wrench/reftests/border/overlapping.yaml
gfx/wr/wrench/reftests/border/reftest.list
gfx/wr/wrench/reftests/border/small-dotted-border.png
gfx/wr/wrench/reftests/border/small-dotted-border.yaml
gfx/wr/wrench/reftests/border/small-inset-outset-notref.yaml
gfx/wr/wrench/reftests/border/small-inset-outset.yaml
gfx/wr/wrench/reftests/border/zero-width.yaml
gfx/wr/wrench/reftests/boxshadow/blank.yaml
gfx/wr/wrench/reftests/boxshadow/box-shadow-blurred-overlapping-radii-ref.yaml
gfx/wr/wrench/reftests/boxshadow/box-shadow-blurred-overlapping-radii.yaml
gfx/wr/wrench/reftests/boxshadow/box-shadow-border-radii.png
gfx/wr/wrench/reftests/boxshadow/box-shadow-border-radii.yaml
gfx/wr/wrench/reftests/boxshadow/box-shadow-cache.png
gfx/wr/wrench/reftests/boxshadow/box-shadow-cache.yaml
gfx/wr/wrench/reftests/boxshadow/box-shadow-clip-ref.yaml
gfx/wr/wrench/reftests/boxshadow/box-shadow-clip.yaml
gfx/wr/wrench/reftests/boxshadow/box-shadow-empty.yaml
gfx/wr/wrench/reftests/boxshadow/box-shadow-huge-radius.png
gfx/wr/wrench/reftests/boxshadow/box-shadow-huge-radius.yaml
gfx/wr/wrench/reftests/boxshadow/box-shadow-large-blur-radius-2.png
gfx/wr/wrench/reftests/boxshadow/box-shadow-large-blur-radius-2.yaml
gfx/wr/wrench/reftests/boxshadow/box-shadow-large-blur-radius-3.png
gfx/wr/wrench/reftests/boxshadow/box-shadow-large-blur-radius-3.yaml
gfx/wr/wrench/reftests/boxshadow/box-shadow-large-blur-radius-ref.yaml
gfx/wr/wrench/reftests/boxshadow/box-shadow-large-blur-radius.yaml
gfx/wr/wrench/reftests/boxshadow/box-shadow-spread-radii-ref.yaml
gfx/wr/wrench/reftests/boxshadow/box-shadow-spread-radii.yaml
gfx/wr/wrench/reftests/boxshadow/box-shadow-spread.png
gfx/wr/wrench/reftests/boxshadow/box-shadow-spread.yaml
gfx/wr/wrench/reftests/boxshadow/box-shadow-stretch-mode-x.png
gfx/wr/wrench/reftests/boxshadow/box-shadow-stretch-mode-x.yaml
gfx/wr/wrench/reftests/boxshadow/box-shadow-stretch-mode-y.png
gfx/wr/wrench/reftests/boxshadow/box-shadow-stretch-mode-y.yaml
gfx/wr/wrench/reftests/boxshadow/box-shadow-suite-blur.png
gfx/wr/wrench/reftests/boxshadow/box-shadow-suite-blur.yaml
gfx/wr/wrench/reftests/boxshadow/box-shadow-suite-no-blur.png
gfx/wr/wrench/reftests/boxshadow/box-shadow-suite-no-blur.yaml
gfx/wr/wrench/reftests/boxshadow/boxshadow-spread-only-ref.png
gfx/wr/wrench/reftests/boxshadow/boxshadow-spread-only.yaml
gfx/wr/wrench/reftests/boxshadow/inset-alpha.png
gfx/wr/wrench/reftests/boxshadow/inset-alpha.yaml
gfx/wr/wrench/reftests/boxshadow/inset-border-radius-ref.yaml
gfx/wr/wrench/reftests/boxshadow/inset-border-radius.png
gfx/wr/wrench/reftests/boxshadow/inset-border-radius.yaml
gfx/wr/wrench/reftests/boxshadow/inset-downscale.png
gfx/wr/wrench/reftests/boxshadow/inset-downscale.yaml
gfx/wr/wrench/reftests/boxshadow/inset-empty.yaml
gfx/wr/wrench/reftests/boxshadow/inset-large-offset-ref.png
gfx/wr/wrench/reftests/boxshadow/inset-large-offset.yaml
gfx/wr/wrench/reftests/boxshadow/inset-mask-region.png
gfx/wr/wrench/reftests/boxshadow/inset-mask-region.yaml
gfx/wr/wrench/reftests/boxshadow/inset-neg-offset.png
gfx/wr/wrench/reftests/boxshadow/inset-neg-offset.yaml
gfx/wr/wrench/reftests/boxshadow/inset-no-blur-radius-ref.png
gfx/wr/wrench/reftests/boxshadow/inset-no-blur-radius.yaml
gfx/wr/wrench/reftests/boxshadow/inset-offset.png
gfx/wr/wrench/reftests/boxshadow/inset-offset.yaml
gfx/wr/wrench/reftests/boxshadow/inset-simple-ref.yaml
gfx/wr/wrench/reftests/boxshadow/inset-simple.yaml
gfx/wr/wrench/reftests/boxshadow/inset-spread-large-ref.yaml
gfx/wr/wrench/reftests/boxshadow/inset-spread-large.yaml
gfx/wr/wrench/reftests/boxshadow/inset-spread-ref.yaml
gfx/wr/wrench/reftests/boxshadow/inset-spread.yaml
gfx/wr/wrench/reftests/boxshadow/inset-subpx.png
gfx/wr/wrench/reftests/boxshadow/inset-subpx.yaml
gfx/wr/wrench/reftests/boxshadow/invalid-ref.yaml
gfx/wr/wrench/reftests/boxshadow/invalid.yaml
gfx/wr/wrench/reftests/boxshadow/no-stretch.png
gfx/wr/wrench/reftests/boxshadow/no-stretch.yaml
gfx/wr/wrench/reftests/boxshadow/overlap1.png
gfx/wr/wrench/reftests/boxshadow/overlap1.yaml
gfx/wr/wrench/reftests/boxshadow/overlap2.png
gfx/wr/wrench/reftests/boxshadow/overlap2.yaml
gfx/wr/wrench/reftests/boxshadow/reftest.list
gfx/wr/wrench/reftests/boxshadow/rounding-ref.yaml
gfx/wr/wrench/reftests/boxshadow/rounding.yaml
gfx/wr/wrench/reftests/clip/border-with-rounded-clip.png
gfx/wr/wrench/reftests/clip/border-with-rounded-clip.yaml
gfx/wr/wrench/reftests/clip/clip-3d-transform-ref.yaml
gfx/wr/wrench/reftests/clip/clip-3d-transform.yaml
gfx/wr/wrench/reftests/clip/clip-45-degree-rotation-ref.png
gfx/wr/wrench/reftests/clip/clip-45-degree-rotation.yaml
gfx/wr/wrench/reftests/clip/clip-corner-overlap-ref.yaml
gfx/wr/wrench/reftests/clip/clip-corner-overlap.yaml
gfx/wr/wrench/reftests/clip/clip-ellipse.png
gfx/wr/wrench/reftests/clip/clip-ellipse.yaml
gfx/wr/wrench/reftests/clip/clip-mode.png
gfx/wr/wrench/reftests/clip/clip-mode.yaml
gfx/wr/wrench/reftests/clip/custom-clip-chain-node-ancestors-ref.yaml
gfx/wr/wrench/reftests/clip/custom-clip-chain-node-ancestors.yaml
gfx/wr/wrench/reftests/clip/custom-clip-chains-ref.yaml
gfx/wr/wrench/reftests/clip/custom-clip-chains.yaml
gfx/wr/wrench/reftests/clip/fixed-position-clipping-ref.yaml
gfx/wr/wrench/reftests/clip/fixed-position-clipping.yaml
gfx/wr/wrench/reftests/clip/reftest.list
gfx/wr/wrench/reftests/clip/segmentation-across-rotation-ref.yaml
gfx/wr/wrench/reftests/clip/segmentation-across-rotation.yaml
gfx/wr/wrench/reftests/clip/segmentation-with-other-coordinate-system-clip-ref.yaml
gfx/wr/wrench/reftests/clip/segmentation-with-other-coordinate-system-clip.yaml
gfx/wr/wrench/reftests/clip/snapping-ref.yaml
gfx/wr/wrench/reftests/clip/snapping.yaml
gfx/wr/wrench/reftests/clip/stacking-context-clip-ref.yaml
gfx/wr/wrench/reftests/clip/stacking-context-clip.yaml
gfx/wr/wrench/reftests/filters/blank.yaml
gfx/wr/wrench/reftests/filters/blend-clipped.png
gfx/wr/wrench/reftests/filters/blend-clipped.yaml
gfx/wr/wrench/reftests/filters/filter-blur-huge.yaml
gfx/wr/wrench/reftests/filters/filter-blur.png
gfx/wr/wrench/reftests/filters/filter-blur.yaml
gfx/wr/wrench/reftests/filters/filter-brightness-2-ref.yaml
gfx/wr/wrench/reftests/filters/filter-brightness-2.yaml
gfx/wr/wrench/reftests/filters/filter-brightness-3-ref.yaml
gfx/wr/wrench/reftests/filters/filter-brightness-3.yaml
gfx/wr/wrench/reftests/filters/filter-brightness-4-ref.yaml
gfx/wr/wrench/reftests/filters/filter-brightness-4.yaml
gfx/wr/wrench/reftests/filters/filter-brightness-ref.yaml
gfx/wr/wrench/reftests/filters/filter-brightness.yaml
gfx/wr/wrench/reftests/filters/filter-color-matrix-ref.yaml
gfx/wr/wrench/reftests/filters/filter-color-matrix.yaml
gfx/wr/wrench/reftests/filters/filter-contrast-gray-alpha-1-ref.yaml
gfx/wr/wrench/reftests/filters/filter-contrast-gray-alpha-1.yaml
gfx/wr/wrench/reftests/filters/filter-drop-shadow-huge.yaml
gfx/wr/wrench/reftests/filters/filter-drop-shadow-on-viewport-edge.png
gfx/wr/wrench/reftests/filters/filter-drop-shadow-on-viewport-edge.yaml
gfx/wr/wrench/reftests/filters/filter-drop-shadow.png
gfx/wr/wrench/reftests/filters/filter-drop-shadow.yaml
gfx/wr/wrench/reftests/filters/filter-grayscale-ref.yaml
gfx/wr/wrench/reftests/filters/filter-grayscale.yaml
gfx/wr/wrench/reftests/filters/filter-hue-rotate-1-ref.yaml
gfx/wr/wrench/reftests/filters/filter-hue-rotate-1.yaml
gfx/wr/wrench/reftests/filters/filter-hue-rotate-alpha-1-ref.yaml
gfx/wr/wrench/reftests/filters/filter-hue-rotate-alpha-1.yaml
gfx/wr/wrench/reftests/filters/filter-invert-2-ref.yaml
gfx/wr/wrench/reftests/filters/filter-invert-2.yaml
gfx/wr/wrench/reftests/filters/filter-invert-ref.yaml
gfx/wr/wrench/reftests/filters/filter-invert.yaml
gfx/wr/wrench/reftests/filters/filter-large-blur-radius.png
gfx/wr/wrench/reftests/filters/filter-large-blur-radius.yaml
gfx/wr/wrench/reftests/filters/filter-long-chain.png
gfx/wr/wrench/reftests/filters/filter-long-chain.yaml
gfx/wr/wrench/reftests/filters/filter-mix-blend-mode-ref.yaml
gfx/wr/wrench/reftests/filters/filter-mix-blend-mode.yaml
gfx/wr/wrench/reftests/filters/filter-saturate-blue-1-ref.yaml
gfx/wr/wrench/reftests/filters/filter-saturate-blue-1.yaml
gfx/wr/wrench/reftests/filters/filter-saturate-blue-2-ref.yaml
gfx/wr/wrench/reftests/filters/filter-saturate-blue-2.yaml
gfx/wr/wrench/reftests/filters/filter-saturate-blue-3-ref.yaml
gfx/wr/wrench/reftests/filters/filter-saturate-blue-3.yaml
gfx/wr/wrench/reftests/filters/filter-saturate-blue-alpha-1-ref.yaml
gfx/wr/wrench/reftests/filters/filter-saturate-blue-alpha-1.yaml
gfx/wr/wrench/reftests/filters/filter-saturate-green-1-ref.yaml
gfx/wr/wrench/reftests/filters/filter-saturate-green-1.yaml
gfx/wr/wrench/reftests/filters/filter-saturate-green-2-ref.yaml
gfx/wr/wrench/reftests/filters/filter-saturate-green-2.yaml
gfx/wr/wrench/reftests/filters/filter-saturate-green-3-ref.yaml
gfx/wr/wrench/reftests/filters/filter-saturate-green-3.yaml
gfx/wr/wrench/reftests/filters/filter-saturate-green-alpha-1-ref.yaml
gfx/wr/wrench/reftests/filters/filter-saturate-green-alpha-1.yaml
gfx/wr/wrench/reftests/filters/filter-saturate-red-1-ref.yaml
gfx/wr/wrench/reftests/filters/filter-saturate-red-1.yaml
gfx/wr/wrench/reftests/filters/filter-saturate-red-2-ref.yaml
gfx/wr/wrench/reftests/filters/filter-saturate-red-2.yaml
gfx/wr/wrench/reftests/filters/filter-saturate-red-3-ref.yaml
gfx/wr/wrench/reftests/filters/filter-saturate-red-3.yaml
gfx/wr/wrench/reftests/filters/filter-saturate-red-alpha-1-ref.yaml
gfx/wr/wrench/reftests/filters/filter-saturate-red-alpha-1.yaml
gfx/wr/wrench/reftests/filters/filter-segments-ref.yaml
gfx/wr/wrench/reftests/filters/filter-segments.yaml
gfx/wr/wrench/reftests/filters/filter-small-blur-radius.png
gfx/wr/wrench/reftests/filters/filter-small-blur-radius.yaml
gfx/wr/wrench/reftests/filters/firefox.png
gfx/wr/wrench/reftests/filters/iframe-dropshadow-ref.yaml
gfx/wr/wrench/reftests/filters/iframe-dropshadow.yaml
gfx/wr/wrench/reftests/filters/invisible-ref.yaml
gfx/wr/wrench/reftests/filters/invisible.yaml
gfx/wr/wrench/reftests/filters/isolated-ref.yaml
gfx/wr/wrench/reftests/filters/isolated.yaml
gfx/wr/wrench/reftests/filters/opacity-combined-ref.yaml
gfx/wr/wrench/reftests/filters/opacity-combined.yaml
gfx/wr/wrench/reftests/filters/opacity-overlap-ref.yaml
gfx/wr/wrench/reftests/filters/opacity-overlap.yaml
gfx/wr/wrench/reftests/filters/opacity-ref.yaml
gfx/wr/wrench/reftests/filters/opacity.yaml
gfx/wr/wrench/reftests/filters/reftest.list
gfx/wr/wrench/reftests/filters/srgb-to-linear-2.yaml
gfx/wr/wrench/reftests/filters/srgb-to-linear-ref.yaml
gfx/wr/wrench/reftests/filters/srgb-to-linear.yaml
gfx/wr/wrench/reftests/gradient/linear-aligned-border-radius.png
gfx/wr/wrench/reftests/gradient/linear-aligned-border-radius.yaml
gfx/wr/wrench/reftests/gradient/linear-aligned-clip-ref.yaml
gfx/wr/wrench/reftests/gradient/linear-aligned-clip.yaml
gfx/wr/wrench/reftests/gradient/linear-clamp-1-ref.yaml
gfx/wr/wrench/reftests/gradient/linear-clamp-1a.yaml
gfx/wr/wrench/reftests/gradient/linear-clamp-1b.yaml
gfx/wr/wrench/reftests/gradient/linear-clamp-2-ref.yaml
gfx/wr/wrench/reftests/gradient/linear-clamp-2.yaml
gfx/wr/wrench/reftests/gradient/linear-double.yaml
gfx/wr/wrench/reftests/gradient/linear-ref.png
gfx/wr/wrench/reftests/gradient/linear-ref.yaml
gfx/wr/wrench/reftests/gradient/linear-reverse.yaml
gfx/wr/wrench/reftests/gradient/linear-stops-ref.png
gfx/wr/wrench/reftests/gradient/linear-stops.yaml
gfx/wr/wrench/reftests/gradient/linear.yaml
gfx/wr/wrench/reftests/gradient/norm-linear-1-ref.yaml
gfx/wr/wrench/reftests/gradient/norm-linear-1.yaml
gfx/wr/wrench/reftests/gradient/norm-linear-2-ref.yaml
gfx/wr/wrench/reftests/gradient/norm-linear-2.yaml
gfx/wr/wrench/reftests/gradient/norm-linear-3-ref.yaml
gfx/wr/wrench/reftests/gradient/norm-linear-3.yaml
gfx/wr/wrench/reftests/gradient/norm-linear-4-ref.yaml
gfx/wr/wrench/reftests/gradient/norm-linear-4.yaml
gfx/wr/wrench/reftests/gradient/norm-linear-degenerate-ref.yaml
gfx/wr/wrench/reftests/gradient/norm-linear-degenerate.yaml
gfx/wr/wrench/reftests/gradient/norm-radial-1-ref.yaml
gfx/wr/wrench/reftests/gradient/norm-radial-1.yaml
gfx/wr/wrench/reftests/gradient/norm-radial-2-ref.yaml
gfx/wr/wrench/reftests/gradient/norm-radial-2.yaml
gfx/wr/wrench/reftests/gradient/norm-radial-3-ref.yaml
gfx/wr/wrench/reftests/gradient/norm-radial-3.yaml
gfx/wr/wrench/reftests/gradient/norm-radial-degenerate-ref.yaml
gfx/wr/wrench/reftests/gradient/norm-radial-degenerate.yaml
gfx/wr/wrench/reftests/gradient/premultiplied-aligned-2.png
gfx/wr/wrench/reftests/gradient/premultiplied-aligned-2.yaml
gfx/wr/wrench/reftests/gradient/premultiplied-aligned.png
gfx/wr/wrench/reftests/gradient/premultiplied-aligned.yaml
gfx/wr/wrench/reftests/gradient/premultiplied-angle-2.png
gfx/wr/wrench/reftests/gradient/premultiplied-angle-2.yaml
gfx/wr/wrench/reftests/gradient/premultiplied-angle.png
gfx/wr/wrench/reftests/gradient/premultiplied-angle.yaml
gfx/wr/wrench/reftests/gradient/premultiplied-radial-2.png
gfx/wr/wrench/reftests/gradient/premultiplied-radial-2.yaml
gfx/wr/wrench/reftests/gradient/premultiplied-radial.png
gfx/wr/wrench/reftests/gradient/premultiplied-radial.yaml
gfx/wr/wrench/reftests/gradient/radial-circle-ref.png
gfx/wr/wrench/reftests/gradient/radial-circle.yaml
gfx/wr/wrench/reftests/gradient/radial-ellipse-ref.png
gfx/wr/wrench/reftests/gradient/radial-ellipse.yaml
gfx/wr/wrench/reftests/gradient/radial-zero-size-1.yaml
gfx/wr/wrench/reftests/gradient/radial-zero-size-2.yaml
gfx/wr/wrench/reftests/gradient/radial-zero-size-3.yaml
gfx/wr/wrench/reftests/gradient/radial-zero-size-ref.yaml
gfx/wr/wrench/reftests/gradient/reftest.list
gfx/wr/wrench/reftests/gradient/repeat-border-radius.png
gfx/wr/wrench/reftests/gradient/repeat-border-radius.yaml
gfx/wr/wrench/reftests/gradient/repeat-linear-ref.yaml
gfx/wr/wrench/reftests/gradient/repeat-linear-reverse.yaml
gfx/wr/wrench/reftests/gradient/repeat-linear.yaml
gfx/wr/wrench/reftests/gradient/repeat-radial-negative.yaml
gfx/wr/wrench/reftests/gradient/repeat-radial-ref.yaml
gfx/wr/wrench/reftests/gradient/repeat-radial.yaml
gfx/wr/wrench/reftests/gradient/tiling-linear-1-ref.yaml
gfx/wr/wrench/reftests/gradient/tiling-linear-1.yaml
gfx/wr/wrench/reftests/gradient/tiling-linear-2-ref.yaml
gfx/wr/wrench/reftests/gradient/tiling-linear-2.yaml
gfx/wr/wrench/reftests/gradient/tiling-linear-3-ref.yaml
gfx/wr/wrench/reftests/gradient/tiling-linear-3.yaml
gfx/wr/wrench/reftests/gradient/tiling-radial-1-ref.yaml
gfx/wr/wrench/reftests/gradient/tiling-radial-1.yaml
gfx/wr/wrench/reftests/gradient/tiling-radial-2-ref.yaml
gfx/wr/wrench/reftests/gradient/tiling-radial-2.yaml
gfx/wr/wrench/reftests/gradient/tiling-radial-3-ref.yaml
gfx/wr/wrench/reftests/gradient/tiling-radial-3.yaml
gfx/wr/wrench/reftests/gradient/tiling-radial-4-ref.yaml
gfx/wr/wrench/reftests/gradient/tiling-radial-4.yaml
gfx/wr/wrench/reftests/image/downscale.png
gfx/wr/wrench/reftests/image/downscale.yaml
gfx/wr/wrench/reftests/image/firefox.png
gfx/wr/wrench/reftests/image/reftest.list
gfx/wr/wrench/reftests/image/segments.png
gfx/wr/wrench/reftests/image/segments.yaml
gfx/wr/wrench/reftests/image/spacex-u.png
gfx/wr/wrench/reftests/image/spacex-uv.png
gfx/wr/wrench/reftests/image/spacex-v.png
gfx/wr/wrench/reftests/image/spacex-y.png
gfx/wr/wrench/reftests/image/spacex-yuv.png
gfx/wr/wrench/reftests/image/tile-repeat-prim-or-decompose-ref.yaml
gfx/wr/wrench/reftests/image/tile-repeat-prim-or-decompose.yaml
gfx/wr/wrench/reftests/image/tile-size-ref.yaml
gfx/wr/wrench/reftests/image/tile-size.yaml
gfx/wr/wrench/reftests/image/tile-with-spacing-ref.yaml
gfx/wr/wrench/reftests/image/tile-with-spacing.yaml
gfx/wr/wrench/reftests/image/tiled-clip-chain-ref.yaml
gfx/wr/wrench/reftests/image/tiled-clip-chain.yaml
gfx/wr/wrench/reftests/image/tiled-complex-clip-ref.yaml
gfx/wr/wrench/reftests/image/tiled-complex-clip.yaml
gfx/wr/wrench/reftests/image/very-big-ref.yaml
gfx/wr/wrench/reftests/image/very-big-tile-size-ref.yaml
gfx/wr/wrench/reftests/image/very-big-tile-size.yaml
gfx/wr/wrench/reftests/image/very-big.yaml
gfx/wr/wrench/reftests/image/yuv.png
gfx/wr/wrench/reftests/image/yuv.yaml
gfx/wr/wrench/reftests/mask/aligned-layer-rect-ref.yaml
gfx/wr/wrench/reftests/mask/aligned-layer-rect.yaml
gfx/wr/wrench/reftests/mask/checkerboard-tiling.yaml
gfx/wr/wrench/reftests/mask/checkerboard.png
gfx/wr/wrench/reftests/mask/checkerboard.yaml
gfx/wr/wrench/reftests/mask/green.yaml
gfx/wr/wrench/reftests/mask/mask-atomicity-ref.yaml
gfx/wr/wrench/reftests/mask/mask-atomicity-tiling.yaml
gfx/wr/wrench/reftests/mask/mask-atomicity.yaml
gfx/wr/wrench/reftests/mask/mask-perspective-tiling.yaml
gfx/wr/wrench/reftests/mask/mask-perspective.png
gfx/wr/wrench/reftests/mask/mask-perspective.yaml
gfx/wr/wrench/reftests/mask/mask-ref.yaml
gfx/wr/wrench/reftests/mask/mask-tiling.yaml
gfx/wr/wrench/reftests/mask/mask-transformed-to-empty-rect-ref.yaml
gfx/wr/wrench/reftests/mask/mask-transformed-to-empty-rect.yaml
gfx/wr/wrench/reftests/mask/mask.png
gfx/wr/wrench/reftests/mask/mask.yaml
gfx/wr/wrench/reftests/mask/nested-mask-ref.yaml
gfx/wr/wrench/reftests/mask/nested-mask-tiling.yaml
gfx/wr/wrench/reftests/mask/nested-mask.yaml
gfx/wr/wrench/reftests/mask/out-of-bounds.yaml
gfx/wr/wrench/reftests/mask/reftest.list
gfx/wr/wrench/reftests/mask/rounded-corners.png
gfx/wr/wrench/reftests/mask/rounded-corners.yaml
gfx/wr/wrench/reftests/mask/tiny-check-mask.png
gfx/wr/wrench/reftests/performance/no-clip-mask.png
gfx/wr/wrench/reftests/performance/no-clip-mask.yaml
gfx/wr/wrench/reftests/performance/reftest.list
gfx/wr/wrench/reftests/reftest.list
gfx/wr/wrench/reftests/scrolling/clip-and-scroll-property-ref.yaml
gfx/wr/wrench/reftests/scrolling/clip-and-scroll-property.yaml
gfx/wr/wrench/reftests/scrolling/empty-mask-ref.yaml
gfx/wr/wrench/reftests/scrolling/empty-mask.yaml
gfx/wr/wrench/reftests/scrolling/fixed-position-ref.yaml
gfx/wr/wrench/reftests/scrolling/fixed-position-scrolling-clip-ref.yaml
gfx/wr/wrench/reftests/scrolling/fixed-position-scrolling-clip.yaml
gfx/wr/wrench/reftests/scrolling/fixed-position.yaml
gfx/wr/wrench/reftests/scrolling/mask.png
gfx/wr/wrench/reftests/scrolling/nested-scroll-offset-ref.yaml
gfx/wr/wrench/reftests/scrolling/nested-scroll-offset.yaml
gfx/wr/wrench/reftests/scrolling/out-of-bounds-scroll-ref.yaml
gfx/wr/wrench/reftests/scrolling/out-of-bounds-scroll.yaml
gfx/wr/wrench/reftests/scrolling/reftest.list
gfx/wr/wrench/reftests/scrolling/root-scroll-ref.yaml
gfx/wr/wrench/reftests/scrolling/root-scroll.yaml
gfx/wr/wrench/reftests/scrolling/scale-offsets-ref.yaml
gfx/wr/wrench/reftests/scrolling/scale-offsets.yaml
gfx/wr/wrench/reftests/scrolling/scroll-layer-ref.yaml
gfx/wr/wrench/reftests/scrolling/scroll-layer-with-mask-ref.yaml
gfx/wr/wrench/reftests/scrolling/scroll-layer-with-mask.yaml
gfx/wr/wrench/reftests/scrolling/scroll-layer.yaml
gfx/wr/wrench/reftests/scrolling/sibling-hidden-clip-ref.yaml
gfx/wr/wrench/reftests/scrolling/sibling-hidden-clip.yaml
gfx/wr/wrench/reftests/scrolling/simple-ref.yaml
gfx/wr/wrench/reftests/scrolling/simple.yaml
gfx/wr/wrench/reftests/scrolling/sticky-applied-ref.yaml
gfx/wr/wrench/reftests/scrolling/sticky-applied.yaml
gfx/wr/wrench/reftests/scrolling/sticky-nested.yaml
gfx/wr/wrench/reftests/scrolling/sticky-ref.yaml
gfx/wr/wrench/reftests/scrolling/sticky-transformed-ref.yaml
gfx/wr/wrench/reftests/scrolling/sticky-transformed.yaml
gfx/wr/wrench/reftests/scrolling/sticky.yaml
gfx/wr/wrench/reftests/scrolling/translate-nested-ref.yaml
gfx/wr/wrench/reftests/scrolling/translate-nested.yaml
gfx/wr/wrench/reftests/snap/preserve-3d.png
gfx/wr/wrench/reftests/snap/preserve-3d.yaml
gfx/wr/wrench/reftests/snap/reftest.list
gfx/wr/wrench/reftests/snap/snap.png
gfx/wr/wrench/reftests/snap/snap.yaml
gfx/wr/wrench/reftests/snap/transform.png
gfx/wr/wrench/reftests/snap/transform.yaml
gfx/wr/wrench/reftests/split/cross-ref.yaml
gfx/wr/wrench/reftests/split/cross.yaml
gfx/wr/wrench/reftests/split/filter-ref.yaml
gfx/wr/wrench/reftests/split/filter.yaml
gfx/wr/wrench/reftests/split/intermediate-1-ref.yaml
gfx/wr/wrench/reftests/split/intermediate-1.yaml
gfx/wr/wrench/reftests/split/intermediate-2.yaml
gfx/wr/wrench/reftests/split/mixed-order-ref.yaml
gfx/wr/wrench/reftests/split/mixed-order.yaml
gfx/wr/wrench/reftests/split/near-plane.png
gfx/wr/wrench/reftests/split/near-plane.yaml
gfx/wr/wrench/reftests/split/nested-preserve3d-crash.yaml
gfx/wr/wrench/reftests/split/nested-ref.yaml
gfx/wr/wrench/reftests/split/nested.yaml
gfx/wr/wrench/reftests/split/order-1-ref.yaml
gfx/wr/wrench/reftests/split/order-1.yaml
gfx/wr/wrench/reftests/split/order-2-ref.yaml
gfx/wr/wrench/reftests/split/order-2.yaml
gfx/wr/wrench/reftests/split/ordering-ref.yaml
gfx/wr/wrench/reftests/split/ordering.yaml
gfx/wr/wrench/reftests/split/perspective-clipping-ref.yaml
gfx/wr/wrench/reftests/split/perspective-clipping.yaml
gfx/wr/wrench/reftests/split/reftest.list
gfx/wr/wrench/reftests/split/same-plane.png
gfx/wr/wrench/reftests/split/same-plane.yaml
gfx/wr/wrench/reftests/split/simple-ref.yaml
gfx/wr/wrench/reftests/split/simple.yaml
gfx/wr/wrench/reftests/split/split-intersect1-ref.yaml
gfx/wr/wrench/reftests/split/split-intersect1.yaml
gfx/wr/wrench/reftests/text/1658-ref.yaml
gfx/wr/wrench/reftests/text/1658.yaml
gfx/wr/wrench/reftests/text/Ahem.ttf
gfx/wr/wrench/reftests/text/FreeSans.ttf
gfx/wr/wrench/reftests/text/Proggy-License.txt
gfx/wr/wrench/reftests/text/Proggy.ttf
gfx/wr/wrench/reftests/text/VeraBd.ttf
gfx/wr/wrench/reftests/text/ahem-ref.yaml
gfx/wr/wrench/reftests/text/ahem.yaml
gfx/wr/wrench/reftests/text/allow-subpixel-ref.yaml
gfx/wr/wrench/reftests/text/allow-subpixel.yaml
gfx/wr/wrench/reftests/text/alpha-transform.png
gfx/wr/wrench/reftests/text/alpha-transform.yaml
gfx/wr/wrench/reftests/text/bg-color-ref.yaml
gfx/wr/wrench/reftests/text/bg-color.yaml
gfx/wr/wrench/reftests/text/blank.yaml
gfx/wr/wrench/reftests/text/blurred-shadow-local-clip-rect-ref.png
gfx/wr/wrench/reftests/text/blurred-shadow-local-clip-rect.yaml
gfx/wr/wrench/reftests/text/border-radius-alpha.png
gfx/wr/wrench/reftests/text/border-radius-subpx.png
gfx/wr/wrench/reftests/text/border-radius.yaml
gfx/wr/wrench/reftests/text/clipped-transform.png
gfx/wr/wrench/reftests/text/clipped-transform.yaml
gfx/wr/wrench/reftests/text/color-bitmap-shadow-ref.yaml
gfx/wr/wrench/reftests/text/color-bitmap-shadow.yaml
gfx/wr/wrench/reftests/text/colors-alpha.png
gfx/wr/wrench/reftests/text/colors-subpx.png
gfx/wr/wrench/reftests/text/colors.yaml
gfx/wr/wrench/reftests/text/decorations-ref.yaml
gfx/wr/wrench/reftests/text/decorations-suite.png
gfx/wr/wrench/reftests/text/decorations-suite.yaml
gfx/wr/wrench/reftests/text/decorations.yaml
gfx/wr/wrench/reftests/text/diacritics-ref.yaml
gfx/wr/wrench/reftests/text/diacritics.yaml
gfx/wr/wrench/reftests/text/embedded-bitmaps.png
gfx/wr/wrench/reftests/text/embedded-bitmaps.yaml
gfx/wr/wrench/reftests/text/isolated-text.png
gfx/wr/wrench/reftests/text/isolated-text.yaml
gfx/wr/wrench/reftests/text/large-glyphs.yaml
gfx/wr/wrench/reftests/text/long-text.yaml
gfx/wr/wrench/reftests/text/negative-pos.yaml
gfx/wr/wrench/reftests/text/non-opaque-notref.yaml
gfx/wr/wrench/reftests/text/non-opaque.yaml
gfx/wr/wrench/reftests/text/perspective-clip.png
gfx/wr/wrench/reftests/text/perspective-clip.yaml
gfx/wr/wrench/reftests/text/raster-space.png
gfx/wr/wrench/reftests/text/raster-space.yaml
gfx/wr/wrench/reftests/text/reftest.list
gfx/wr/wrench/reftests/text/shadow-atomic-ref.yaml
gfx/wr/wrench/reftests/text/shadow-atomic.yaml
gfx/wr/wrench/reftests/text/shadow-border.yaml
gfx/wr/wrench/reftests/text/shadow-clip-rect.yaml
gfx/wr/wrench/reftests/text/shadow-clip-ref.yaml
gfx/wr/wrench/reftests/text/shadow-clip.yaml
gfx/wr/wrench/reftests/text/shadow-clipped-text.yaml
gfx/wr/wrench/reftests/text/shadow-complex.yaml
gfx/wr/wrench/reftests/text/shadow-cover-1.yaml
gfx/wr/wrench/reftests/text/shadow-cover-2.yaml
gfx/wr/wrench/reftests/text/shadow-fast-clip-ref.yaml
gfx/wr/wrench/reftests/text/shadow-fast-clip.yaml
gfx/wr/wrench/reftests/text/shadow-grey-ref.yaml
gfx/wr/wrench/reftests/text/shadow-grey-transparent.yaml
gfx/wr/wrench/reftests/text/shadow-grey.yaml
gfx/wr/wrench/reftests/text/shadow-huge-ref.yaml
gfx/wr/wrench/reftests/text/shadow-huge.yaml
gfx/wr/wrench/reftests/text/shadow-image.yaml
gfx/wr/wrench/reftests/text/shadow-many.yaml
gfx/wr/wrench/reftests/text/shadow-ordering-ref.yaml
gfx/wr/wrench/reftests/text/shadow-ordering.yaml
gfx/wr/wrench/reftests/text/shadow-partial-glyph-ref.yaml
gfx/wr/wrench/reftests/text/shadow-partial-glyph.yaml
gfx/wr/wrench/reftests/text/shadow-red-ref.yaml
gfx/wr/wrench/reftests/text/shadow-red.yaml
gfx/wr/wrench/reftests/text/shadow-ref.yaml
gfx/wr/wrench/reftests/text/shadow-rotate.yaml
gfx/wr/wrench/reftests/text/shadow-single.yaml
gfx/wr/wrench/reftests/text/shadow-solid-ref.yaml
gfx/wr/wrench/reftests/text/shadow-transforms.png
gfx/wr/wrench/reftests/text/shadow-transforms.yaml
gfx/wr/wrench/reftests/text/shadow.yaml
gfx/wr/wrench/reftests/text/snap-clip-ref.yaml
gfx/wr/wrench/reftests/text/snap-clip.yaml
gfx/wr/wrench/reftests/text/snap-text-offset-ref.yaml
gfx/wr/wrench/reftests/text/snap-text-offset.yaml
gfx/wr/wrench/reftests/text/split-batch-ref.yaml
gfx/wr/wrench/reftests/text/split-batch.yaml
gfx/wr/wrench/reftests/text/subpixel-rotate.png
gfx/wr/wrench/reftests/text/subpixel-rotate.yaml
gfx/wr/wrench/reftests/text/subpixel-scale.png
gfx/wr/wrench/reftests/text/subpixel-scale.yaml
gfx/wr/wrench/reftests/text/subpixel-skew.png
gfx/wr/wrench/reftests/text/subpixel-skew.yaml
gfx/wr/wrench/reftests/text/subtle-shadow-ref.yaml
gfx/wr/wrench/reftests/text/subtle-shadow.yaml
gfx/wr/wrench/reftests/text/synthetic-bold-not-ref.yaml
gfx/wr/wrench/reftests/text/synthetic-bold-transparent-ref.yaml
gfx/wr/wrench/reftests/text/synthetic-bold-transparent.yaml
gfx/wr/wrench/reftests/text/synthetic-bold.yaml
gfx/wr/wrench/reftests/text/synthetic-italics-custom.yaml
gfx/wr/wrench/reftests/text/synthetic-italics-ref.yaml
gfx/wr/wrench/reftests/text/synthetic-italics.yaml
gfx/wr/wrench/reftests/text/text-masking-alpha.png
gfx/wr/wrench/reftests/text/text-masking-mask.png
gfx/wr/wrench/reftests/text/text-masking-subpx.png
gfx/wr/wrench/reftests/text/text-masking.yaml
gfx/wr/wrench/reftests/text/text.yaml
gfx/wr/wrench/reftests/text/transparent-no-aa-ref.yaml
gfx/wr/wrench/reftests/text/transparent-no-aa.yaml
gfx/wr/wrench/reftests/text/two-shadows.png
gfx/wr/wrench/reftests/text/two-shadows.yaml
gfx/wr/wrench/reftests/text/white-opacity.png
gfx/wr/wrench/reftests/text/white-opacity.yaml
gfx/wr/wrench/reftests/text/writing-modes-ref.yaml
gfx/wr/wrench/reftests/text/writing-modes.yaml
gfx/wr/wrench/reftests/transforms/blank.yaml
gfx/wr/wrench/reftests/transforms/border-zoom.png
gfx/wr/wrench/reftests/transforms/border-zoom.yaml
gfx/wr/wrench/reftests/transforms/clip-translate-ref.yaml
gfx/wr/wrench/reftests/transforms/clip-translate.yaml
gfx/wr/wrench/reftests/transforms/complex-preserve-3d.yaml
gfx/wr/wrench/reftests/transforms/content-offset.png
gfx/wr/wrench/reftests/transforms/content-offset.yaml
gfx/wr/wrench/reftests/transforms/coord-system.png
gfx/wr/wrench/reftests/transforms/coord-system.yaml
gfx/wr/wrench/reftests/transforms/image-rotated-clip.png
gfx/wr/wrench/reftests/transforms/image-rotated-clip.yaml
gfx/wr/wrench/reftests/transforms/image.png
gfx/wr/wrench/reftests/transforms/local-clip.png
gfx/wr/wrench/reftests/transforms/local-clip.yaml
gfx/wr/wrench/reftests/transforms/near-plane-clip.png
gfx/wr/wrench/reftests/transforms/near-plane-clip.yaml
gfx/wr/wrench/reftests/transforms/nested-preserve-3d.png
gfx/wr/wrench/reftests/transforms/nested-preserve-3d.yaml
gfx/wr/wrench/reftests/transforms/nested-rotate-x.png
gfx/wr/wrench/reftests/transforms/nested-rotate-x.yaml
gfx/wr/wrench/reftests/transforms/perspective-border-radius.png
gfx/wr/wrench/reftests/transforms/perspective-border-radius.yaml
gfx/wr/wrench/reftests/transforms/perspective-clip-1.png
gfx/wr/wrench/reftests/transforms/perspective-clip-1.yaml
gfx/wr/wrench/reftests/transforms/perspective-clip.png
gfx/wr/wrench/reftests/transforms/perspective-clip.yaml
gfx/wr/wrench/reftests/transforms/perspective-mask.png
gfx/wr/wrench/reftests/transforms/perspective-mask.yaml
gfx/wr/wrench/reftests/transforms/perspective-origin.png
gfx/wr/wrench/reftests/transforms/perspective-origin.yaml
gfx/wr/wrench/reftests/transforms/perspective-shadow.png
gfx/wr/wrench/reftests/transforms/perspective-shadow.yaml
gfx/wr/wrench/reftests/transforms/perspective.png
gfx/wr/wrench/reftests/transforms/perspective.yaml
gfx/wr/wrench/reftests/transforms/prim-suite.png
gfx/wr/wrench/reftests/transforms/prim-suite.yaml
gfx/wr/wrench/reftests/transforms/reftest.list
gfx/wr/wrench/reftests/transforms/rotate-clip-ref.yaml
gfx/wr/wrench/reftests/transforms/rotate-clip.yaml
gfx/wr/wrench/reftests/transforms/rotated-clip-large.png
gfx/wr/wrench/reftests/transforms/rotated-clip-large.yaml
gfx/wr/wrench/reftests/transforms/rotated-clip.png
gfx/wr/wrench/reftests/transforms/rotated-clip.yaml
gfx/wr/wrench/reftests/transforms/rotated-image.png
gfx/wr/wrench/reftests/transforms/rotated-image.yaml
gfx/wr/wrench/reftests/transforms/screen-space-blit-trivial.png
gfx/wr/wrench/reftests/transforms/screen-space-blit-trivial.yaml
gfx/wr/wrench/reftests/transforms/screen-space-blit.png
gfx/wr/wrench/reftests/transforms/screen-space-blit.yaml
gfx/wr/wrench/reftests/transforms/screen-space-blur.png
gfx/wr/wrench/reftests/transforms/screen-space-blur.yaml
gfx/wr/wrench/reftests/transforms/segments-bug-ref.yaml
gfx/wr/wrench/reftests/transforms/segments-bug.yaml
gfx/wr/wrench/reftests/transforms/singular-ref.yaml
gfx/wr/wrench/reftests/transforms/singular.yaml
gfx/wr/wrench/res/wrench.exe.manifest
gfx/wr/wrench/script/benchmark_server.py
gfx/wr/wrench/script/gen-many-images.py
gfx/wr/wrench/script/headless.py
gfx/wr/wrench/script/reftest-analyzer.xhtml
gfx/wr/wrench/script/reftest-debugger.py
gfx/wr/wrench/src/angle.rs
gfx/wr/wrench/src/args.yaml
gfx/wr/wrench/src/binary_frame_reader.rs
gfx/wr/wrench/src/blob.rs
gfx/wr/wrench/src/cgfont_to_data.rs
gfx/wr/wrench/src/egl.rs
gfx/wr/wrench/src/json_frame_writer.rs
gfx/wr/wrench/src/main.rs
gfx/wr/wrench/src/parse_function.rs
gfx/wr/wrench/src/perf.rs
gfx/wr/wrench/src/png.rs
gfx/wr/wrench/src/premultiply.rs
gfx/wr/wrench/src/rawtest.rs
gfx/wr/wrench/src/reftest.rs
gfx/wr/wrench/src/ron_frame_writer.rs
gfx/wr/wrench/src/scene.rs
gfx/wr/wrench/src/wrench.rs
gfx/wr/wrench/src/yaml_frame_reader.rs
gfx/wr/wrench/src/yaml_frame_writer.rs
gfx/wr/wrench/src/yaml_helper.rs
gfx/wrench/.gitignore
gfx/wrench/Cargo.toml
gfx/wrench/README.md
gfx/wrench/build.rs
gfx/wrench/res/wrench.exe.manifest
gfx/wrench/src/angle.rs
gfx/wrench/src/args.yaml
gfx/wrench/src/binary_frame_reader.rs
gfx/wrench/src/blob.rs
gfx/wrench/src/cgfont_to_data.rs
gfx/wrench/src/egl.rs
gfx/wrench/src/json_frame_writer.rs
gfx/wrench/src/main.rs
gfx/wrench/src/parse_function.rs
gfx/wrench/src/perf.rs
gfx/wrench/src/png.rs
gfx/wrench/src/premultiply.rs
gfx/wrench/src/rawtest.rs
gfx/wrench/src/reftest.rs
gfx/wrench/src/ron_frame_writer.rs
gfx/wrench/src/scene.rs
gfx/wrench/src/wrench.rs
gfx/wrench/src/yaml_frame_reader.rs
gfx/wrench/src/yaml_frame_writer.rs
gfx/wrench/src/yaml_helper.rs
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -15,34 +15,29 @@ members = [
   "toolkit/library/gtest/rust",
   "toolkit/library/rust/",
 ]
 
 # Excluded crates may be built as dependencies, but won't be considered members
 # of the workspace and their dev-dependencies won't be included.
 exclude = [
   # Exclude third-party code vendored into mozilla-central.
-  "gfx/webrender",
-  "gfx/webrender_api",
-  "gfx/webrender_bindings",
   "servo",
   "third_party/rust",
 
-  # Excluded because this is a standalone tool for developers and not intended
-  # to be built as part of mozilla-central and is not shipped to users.
-  "gfx/wrench",
-
   # Excluded because these crates have their own Cargo workspaces so they can't
   # be included in the top-level one.
+  "gfx/wr",
   "media/audioipc",
   "media/cubeb-rs",
 
   # Excluded because they are used only as dependencies, not top-level targets,
   # so we don't need to vendor their dev-dependencies.
   "dom/webauthn/u2f-hid-rs",
+  "gfx/webrender_bindings",
   "media/mp4parse-rust/mp4parse",
   "media/mp4parse-rust/mp4parse_capi",
   "media/mp4parse-rust/mp4parse_fallible",
 ]
 
 # Explicitly specify what our profiles use.  The opt-level setting here is
 # a total fiction; see the setup of MOZ_RUST_DEFAULT_FLAGS for what the
 # opt-level setting will be as a result of various other configure flags.
--- a/gfx/webrender_bindings/Cargo.toml
+++ b/gfx/webrender_bindings/Cargo.toml
@@ -12,17 +12,17 @@ app_units = "0.7"
 gleam = "0.6.3"
 log = "0.4"
 nsstring = { path = "../../servo/support/gecko/nsstring" }
 bincode = "1.0"
 uuid = { version = "0.6", features = ["v4"] }
 fxhash = "0.2.1"
 
 [dependencies.webrender]
-path = "../webrender"
+path = "../wr/webrender"
 version = "0.57.2"
 default-features = false
 features = ["capture", "serialize_program"]
 
 [target.'cfg(target_os = "windows")'.dependencies]
 dwrote = "0.6.1"
 
 [target.'cfg(target_os = "macos")'.dependencies]
new file mode 100644
--- /dev/null
+++ b/gfx/wr/.gitignore
@@ -0,0 +1,27 @@
+target/
+*~
+*#
+
+# WR internals
+captures
+wrench/json_frames
+wrench/ron_frames
+
+# Editors
+*.swp
+*.swo
+
+# IntelliJ
+.idea
+*.iws
+*.iml
+
+# Gradle
+.gradle
+
+# VSCode
+.vscode
+.vs
+
+# System
+.fuse_hidden*
new file mode 100644
--- /dev/null
+++ b/gfx/wr/.taskcluster.yml
@@ -0,0 +1,224 @@
+# This file specifies the configuration needed to test WebRender using the
+# Taskcluster infrastructure. Most of this should be relatively self-explanatory;
+# this file was originally generated by using the Taskcluster-GitHub integration
+# quickstart tool at https://tools.taskcluster.net/quickstart/ and then expanded
+# as needed.
+#
+version: 0
+allowPullRequests: public
+metadata:
+  name: WebRender
+  description: Runs WebRender tests in TaskCluster
+  owner: '{{ event.head.user.email }}'
+  source: '{{ event.head.repo.url }}'
+
+# This file triggers a set of tasks; the ones targeting Linux are run in a docker
+# container using docker-worker (which is a worker type provided by TaskCluster).
+# The OS X ones are run in a custom worker type, for which we have worker
+# instances configured and running.
+tasks:
+  # For the docker-worker tasks, the Docker image used
+  # (staktrace/webrender-test:freetype28) was created using this Dockerfile:
+  # ---
+  #   FROM ubuntu:16.04
+  #   RUN apt-get -y update && apt-get install -y curl git python python-pip cmake pkg-config libx11-dev libgl1-mesa-dev libfontconfig1-dev software-properties-common
+  #   RUN add-apt-repository -y -u ppa:glasen/freetype2
+  #   RUN apt-get -y install freetype2-demos
+  #   RUN pip install mako voluptuous PyYAML servo-tidy
+  #   RUN useradd -d /home/worker -s /bin/bash -m worker
+  #   USER worker
+  #   WORKDIR /home/worker
+  #   ENV PATH $PATH:/home/worker/.cargo/bin
+  #   CMD /bin/bash
+  # ---
+  #
+  # The docker image may need to be updated over time if the set of required
+  # packages increases. Note in particular that rust/cargo are not part of the
+  # docker image, and are re-installed using rustup on each CI run. This ensures
+  # the latest stable rust compiler is always used.
+  # CI runs will be triggered on opening PRs, updating PRs, and pushes to the
+  # repository.
+  - metadata:
+      name: Linux release tests
+      description: Runs release-mode WebRender CI stuff on a Linux TC worker
+      owner: '{{ event.head.user.email }}'
+      source: '{{ event.head.repo.url }}'
+    provisionerId: '{{ taskcluster.docker.provisionerId }}'
+    workerType: '{{ taskcluster.docker.workerType }}'
+    extra:
+      github:
+        events:
+          - pull_request.opened
+          - pull_request.synchronize
+          - push
+        excludeBranches:
+          - master
+    payload:
+      maxRunTime: 7200
+      image: 'staktrace/webrender-test:freetype28'
+      env:
+        RUST_BACKTRACE: 'full'
+        RUSTFLAGS: '--deny warnings'
+      command:
+        - /bin/bash
+        - '--login'
+        - '-c'
+        - >-
+          curl https://sh.rustup.rs -sSf | sh -s -- -y &&
+          git clone {{event.head.repo.url}} webrender && cd webrender &&
+          git checkout {{event.head.sha}} &&
+          servo-tidy &&
+          (cd wrench && python script/headless.py reftest) &&
+          (cd wrench && python script/headless.py rawtest) &&
+          (cd wrench && cargo build --release)
+    routes:
+      - "index.garbage.webrender.ci.{{event.head.user.login}}.{{event.head.repo.branch}}.linux-release"
+  - metadata:
+      name: Linux debug tests
+      description: Runs debug-mode WebRender CI stuff on a Linux TC worker
+      owner: '{{ event.head.user.email }}'
+      source: '{{ event.head.repo.url }}'
+    provisionerId: '{{ taskcluster.docker.provisionerId }}'
+    workerType: '{{ taskcluster.docker.workerType }}'
+    extra:
+      github:
+        events:
+          - pull_request.opened
+          - pull_request.synchronize
+          - push
+        excludeBranches:
+          - master
+    payload:
+      maxRunTime: 7200
+      image: 'staktrace/webrender-test:freetype28'
+      env:
+        RUST_BACKTRACE: 'full'
+        RUSTFLAGS: '--deny warnings'
+      command:
+        - /bin/bash
+        - '--login'
+        - '-c'
+        - >-
+          curl https://sh.rustup.rs -sSf | sh -s -- -y &&
+          git clone {{event.head.repo.url}} webrender && cd webrender &&
+          git checkout {{event.head.sha}} &&
+          servo-tidy &&
+          (cd webrender_api && cargo test --verbose --features "ipc") &&
+          (cd webrender && cargo build --verbose --no-default-features) &&
+          (cd webrender && cargo build --verbose --no-default-features --features capture) &&
+          (cd webrender && cargo build --verbose --features capture,profiler) &&
+          (cd webrender && cargo build --verbose --features replay) &&
+          (cd wrench && cargo build --verbose --features env_logger) &&
+          (cd examples && cargo build --verbose) &&
+          (cargo test --all --verbose)
+    routes:
+      - "index.garbage.webrender.ci.{{event.head.user.login}}.{{event.head.repo.branch}}.linux-debug"
+  # For the OS X jobs we use a pool of machines that we are managing, because
+  # Mozilla releng doesn't have any spare OS X machines for us at this time.
+  # Talk to :kats or :jrmuizel if you need more details about this. The machines
+  # are hooked up to taskcluster using taskcluster-worker; they use a worker-type
+  # of kats-webrender-ci-osx. They are set up with all the dependencies needed
+  # to build and test webrender, including Rust (currently 1.24), servo-tidy,
+  # mako, zlib, etc. Note that unlike the docker-worker used for Linux, these
+  # machines WILL persist state from one run to the next, so any cleanup needs
+  # to be handled explicitly.
+  - metadata:
+      name: OS X release tests
+      description: Runs release-mode WebRender CI stuff on a OS X TC worker
+      owner: '{{ event.head.user.email }}'
+      source: '{{ event.head.repo.url }}'
+    provisionerId: 'localprovisioner'
+    workerType: 'webrender-ci-osx'
+    extra:
+      github:
+        events:
+          - pull_request.opened
+          - pull_request.synchronize
+          - push
+        excludeBranches:
+          - master
+    payload:
+      maxRunTime: 3600
+      command:
+        - - /bin/bash
+          - '--login'
+          - '-vec'
+          - |
+            git clone {{event.head.repo.url}} webrender
+            cd webrender
+            git checkout {{event.head.sha}}
+            source $HOME/servotidy-venv/bin/activate
+            servo-tidy
+            sccache --stop-server || true
+            mkdir -p ../artifacts
+            RUST_LOG=sccache=trace SCCACHE_ERROR_LOG=$PWD/../artifacts/sccache.log sccache --start-server
+            export RUST_BACKTRACE=full
+            export RUSTFLAGS='--deny warnings'
+            export PKG_CONFIG_PATH="/usr/local/opt/zlib/lib/pkgconfig:$PKG_CONFIG_PATH"
+            export RUSTC_WRAPPER=sccache
+            echo 'exec make -j1 "$@"' > $HOME/make # See #2638
+            chmod +x $HOME/make
+            export MAKE="$HOME/make"
+            (cd wrench && python script/headless.py reftest)
+            (cd wrench && cargo build --release)
+            (cd wrench && cargo run --release -- --precache reftest reftests/clip/fixed-position-clipping.yaml)
+            sccache --stop-server || true
+      artifacts:
+        - name: public/sccache.log
+          path: artifacts/sccache.log
+          type: file
+    routes:
+      - "index.garbage.webrender.ci.{{event.head.user.login}}.{{event.head.repo.branch}}.osx-release"
+  - metadata:
+      name: OS X debug tests
+      description: Runs debug-mode WebRender CI stuff on a OS X TC worker
+      owner: '{{ event.head.user.email }}'
+      source: '{{ event.head.repo.url }}'
+    provisionerId: 'localprovisioner'
+    workerType: 'webrender-ci-osx'
+    extra:
+      github:
+        events:
+          - pull_request.opened
+          - pull_request.synchronize
+          - push
+        excludeBranches:
+          - master
+    payload:
+      maxRunTime: 3600
+      command:
+        - - /bin/bash
+          - '--login'
+          - '-vec'
+          - |
+            git clone {{event.head.repo.url}} webrender
+            cd webrender
+            git checkout {{event.head.sha}}
+            source $HOME/servotidy-venv/bin/activate
+            servo-tidy
+            sccache --stop-server || true
+            mkdir -p ../artifacts
+            RUST_LOG=sccache=trace SCCACHE_ERROR_LOG=$PWD/../artifacts/sccache.log sccache --start-server
+            export RUST_BACKTRACE=full
+            export RUSTFLAGS='--deny warnings'
+            export PKG_CONFIG_PATH="/usr/local/opt/zlib/lib/pkgconfig:$PKG_CONFIG_PATH"
+            export RUSTC_WRAPPER=sccache
+            echo 'exec make -j1 "$@"' > $HOME/make # See #2638
+            chmod +x $HOME/make
+            export MAKE="$HOME/make"
+            (cd webrender_api && cargo test --verbose --features "ipc")
+            (cd webrender && cargo check --verbose --no-default-features)
+            (cd webrender && cargo check --verbose --no-default-features --features capture)
+            (cd webrender && cargo check --verbose --features capture,profiler)
+            (cd webrender && cargo check --verbose --features replay)
+            (cd webrender && cargo check --verbose --no-default-features --features pathfinder)
+            (cd wrench && cargo check --verbose --features env_logger)
+            (cd examples && cargo check --verbose)
+            (cargo test --all --verbose)
+            sccache --stop-server || true
+      artifacts:
+        - name: public/sccache.log
+          path: artifacts/sccache.log
+          type: file
+    routes:
+      - "index.garbage.webrender.ci.{{event.head.user.login}}.{{event.head.repo.branch}}.osx-debug"
new file mode 100644
--- /dev/null
+++ b/gfx/wr/Cargo.lock
@@ -0,0 +1,1864 @@
+[[package]]
+name = "adler32"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "aho-corasick"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "android_glue"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "ansi_term"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "app_units"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "arrayvec"
+version = "0.4.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "atty"
+version = "0.2.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
+ "termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "base64"
+version = "0.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "safemem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "binary-space-partition"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "bincode"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "bit-vec"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "bitflags"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "block"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "byteorder"
+version = "1.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "bytes"
+version = "0.4.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "cc"
+version = "1.0.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "cfg-if"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "cgl"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "gleam 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "clap"
+version = "2.31.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "atty 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
+ "bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "textwrap 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "yaml-rust 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "cloudabi"
+version = "0.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "cmake"
+version = "0.1.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "cc 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "cocoa"
+version = "0.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "block 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "core-graphics 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
+ "objc 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "color_quant"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "core-foundation"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "core-foundation-sys 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "core-foundation-sys"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "core-graphics"
+version = "0.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "core-foundation 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "core-graphics"
+version = "0.17.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "core-foundation 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "core-text"
+version = "10.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "core-foundation 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "core-graphics 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "core-text"
+version = "13.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "core-foundation 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "core-graphics 0.17.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "crossbeam"
+version = "0.2.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "crossbeam-channel"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "crossbeam-epoch 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "smallvec 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "crossbeam-deque"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "crossbeam-epoch 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "crossbeam-utils 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "crossbeam-epoch"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "crossbeam-utils 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
+ "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "crossbeam-epoch"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "deflate"
+version = "0.7.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "adler32 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "direct-composition"
+version = "0.1.0"
+dependencies = [
+ "euclid 0.19.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "gleam 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "mozangle 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "webrender 0.57.2",
+ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winit 0.16.2 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "dlib"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "libloading 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "downcast-rs"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "dtoa"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "dwrote"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_derive 1.0.80 (git+https://github.com/servo/serde?branch=deserialize_from_enums9)",
+ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "either"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "env_logger"
+version = "0.5.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "atty 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
+ "humantime 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "regex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "termcolor 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "euclid"
+version = "0.19.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "expat-sys"
+version = "2.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "cmake 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)",
+ "pkg-config 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "fnv"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "font-loader"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "core-foundation 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "core-text 10.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "gdi32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
+ "servo-fontconfig 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "user32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "foreign-types"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "foreign-types-shared"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "freetype"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
+ "servo-freetype-sys 4.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "fuchsia-zircon"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "fuchsia-zircon-sys"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "fxhash"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "gdi32-sys"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "gif"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "color_quant 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "lzw 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "gl_generator"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "khronos_api 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "xml-rs 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "gleam"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "gl_generator 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "glutin"
+version = "0.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "android_glue 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cgl 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cocoa 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "core-foundation 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "core-graphics 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "gl_generator 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
+ "objc 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "osmesa-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "shared_library 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "wayland-client 0.20.10 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winit 0.16.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "x11-dl 2.17.5 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "half"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "httparse"
+version = "1.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "humantime"
+version = "1.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "quick-error 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "idna"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-normalization 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "image"
+version = "0.20.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "gif 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "jpeg-decoder 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
+ "lzw 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "num-iter 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)",
+ "num-rational 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ "png 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "scoped_threadpool 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
+ "tiff 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "inflate"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "adler32 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "iovec"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "ipc-channel"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "bincode 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "crossbeam-channel 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
+ "mio 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
+ "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)",
+ "tempfile 3.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "uuid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "itoa"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "jpeg-decoder"
+version = "0.1.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "rayon 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "kernel32-sys"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "khronos_api"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "lazy_static"
+version = "0.2.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "lazy_static"
+version = &quo