gecko-dev/gfx/wr/README.md
Kartikaya Gupta 2719e9d65e 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

--HG--
rename : gfx/webrender/src/device/mod.rs => gfx/wr/direct-composition/src/main.rs
rename : gfx/webrender/Cargo.toml => gfx/wr/webrender/Cargo.toml
rename : gfx/webrender/build.rs => gfx/wr/webrender/build.rs
rename : gfx/webrender/doc/CLIPPING_AND_POSITIONING.md => gfx/wr/webrender/doc/CLIPPING_AND_POSITIONING.md
rename : gfx/webrender/doc/blob.md => gfx/wr/webrender/doc/blob.md
rename : gfx/webrender/doc/text-rendering.md => gfx/wr/webrender/doc/text-rendering.md
rename : gfx/webrender/res/Proggy.ttf => gfx/wr/webrender/res/Proggy.ttf
rename : gfx/webrender/res/area-lut.tga => gfx/wr/webrender/res/area-lut.tga
rename : gfx/webrender/res/base.glsl => gfx/wr/webrender/res/base.glsl
rename : gfx/webrender/res/brush.glsl => gfx/wr/webrender/res/brush.glsl
rename : gfx/webrender/res/brush_blend.glsl => gfx/wr/webrender/res/brush_blend.glsl
rename : gfx/webrender/res/brush_image.glsl => gfx/wr/webrender/res/brush_image.glsl
rename : gfx/webrender/res/brush_linear_gradient.glsl => gfx/wr/webrender/res/brush_linear_gradient.glsl
rename : gfx/webrender/res/brush_mix_blend.glsl => gfx/wr/webrender/res/brush_mix_blend.glsl
rename : gfx/webrender/res/brush_radial_gradient.glsl => gfx/wr/webrender/res/brush_radial_gradient.glsl
rename : gfx/webrender/res/brush_solid.glsl => gfx/wr/webrender/res/brush_solid.glsl
rename : gfx/webrender/res/brush_yuv_image.glsl => gfx/wr/webrender/res/brush_yuv_image.glsl
rename : gfx/webrender/res/clip_shared.glsl => gfx/wr/webrender/res/clip_shared.glsl
rename : gfx/webrender/res/cs_blur.glsl => gfx/wr/webrender/res/cs_blur.glsl
rename : gfx/webrender/res/cs_border_segment.glsl => gfx/wr/webrender/res/cs_border_segment.glsl
rename : gfx/webrender/res/cs_border_solid.glsl => gfx/wr/webrender/res/cs_border_solid.glsl
rename : gfx/webrender/res/cs_clip_box_shadow.glsl => gfx/wr/webrender/res/cs_clip_box_shadow.glsl
rename : gfx/webrender/res/cs_clip_image.glsl => gfx/wr/webrender/res/cs_clip_image.glsl
rename : gfx/webrender/res/cs_clip_rectangle.glsl => gfx/wr/webrender/res/cs_clip_rectangle.glsl
rename : gfx/webrender/res/cs_line_decoration.glsl => gfx/wr/webrender/res/cs_line_decoration.glsl
rename : gfx/webrender/res/cs_scale.glsl => gfx/wr/webrender/res/cs_scale.glsl
rename : gfx/webrender/res/debug_color.glsl => gfx/wr/webrender/res/debug_color.glsl
rename : gfx/webrender/res/debug_font.glsl => gfx/wr/webrender/res/debug_font.glsl
rename : gfx/webrender/res/ellipse.glsl => gfx/wr/webrender/res/ellipse.glsl
rename : gfx/webrender/res/gpu_cache.glsl => gfx/wr/webrender/res/gpu_cache.glsl
rename : gfx/webrender/res/gpu_cache_update.glsl => gfx/wr/webrender/res/gpu_cache_update.glsl
rename : gfx/webrender/res/pf_vector_cover.glsl => gfx/wr/webrender/res/pf_vector_cover.glsl
rename : gfx/webrender/res/pf_vector_stencil.glsl => gfx/wr/webrender/res/pf_vector_stencil.glsl
rename : gfx/webrender/res/prim_shared.glsl => gfx/wr/webrender/res/prim_shared.glsl
rename : gfx/webrender/res/ps_split_composite.glsl => gfx/wr/webrender/res/ps_split_composite.glsl
rename : gfx/webrender/res/ps_text_run.glsl => gfx/wr/webrender/res/ps_text_run.glsl
rename : gfx/webrender/res/rect.glsl => gfx/wr/webrender/res/rect.glsl
rename : gfx/webrender/res/render_task.glsl => gfx/wr/webrender/res/render_task.glsl
rename : gfx/webrender/res/shared.glsl => gfx/wr/webrender/res/shared.glsl
rename : gfx/webrender/res/shared_other.glsl => gfx/wr/webrender/res/shared_other.glsl
rename : gfx/webrender/res/snap.glsl => gfx/wr/webrender/res/snap.glsl
rename : gfx/webrender/res/transform.glsl => gfx/wr/webrender/res/transform.glsl
rename : gfx/webrender/src/batch.rs => gfx/wr/webrender/src/batch.rs
rename : gfx/webrender/src/border.rs => gfx/wr/webrender/src/border.rs
rename : gfx/webrender/src/box_shadow.rs => gfx/wr/webrender/src/box_shadow.rs
rename : gfx/webrender/src/capture.rs => gfx/wr/webrender/src/capture.rs
rename : gfx/webrender/src/clip.rs => gfx/wr/webrender/src/clip.rs
rename : gfx/webrender/src/clip_scroll_tree.rs => gfx/wr/webrender/src/clip_scroll_tree.rs
rename : gfx/webrender/src/debug_colors.rs => gfx/wr/webrender/src/debug_colors.rs
rename : gfx/webrender/src/debug_font_data.rs => gfx/wr/webrender/src/debug_font_data.rs
rename : gfx/webrender/src/debug_render.rs => gfx/wr/webrender/src/debug_render.rs
rename : gfx/webrender/src/debug_server.rs => gfx/wr/webrender/src/debug_server.rs
rename : gfx/webrender/src/device/gl.rs => gfx/wr/webrender/src/device/gl.rs
rename : gfx/webrender/src/device/mod.rs => gfx/wr/webrender/src/device/mod.rs
rename : gfx/webrender/src/device/query_gl.rs => gfx/wr/webrender/src/device/query_gl.rs
rename : gfx/webrender/src/display_list_flattener.rs => gfx/wr/webrender/src/display_list_flattener.rs
rename : gfx/webrender/src/ellipse.rs => gfx/wr/webrender/src/ellipse.rs
rename : gfx/webrender/src/frame_builder.rs => gfx/wr/webrender/src/frame_builder.rs
rename : gfx/webrender/src/freelist.rs => gfx/wr/webrender/src/freelist.rs
rename : gfx/webrender/src/gamma_lut.rs => gfx/wr/webrender/src/gamma_lut.rs
rename : gfx/webrender/src/glyph_cache.rs => gfx/wr/webrender/src/glyph_cache.rs
rename : gfx/webrender/src/glyph_rasterizer/mod.rs => gfx/wr/webrender/src/glyph_rasterizer/mod.rs
rename : gfx/webrender/src/glyph_rasterizer/no_pathfinder.rs => gfx/wr/webrender/src/glyph_rasterizer/no_pathfinder.rs
rename : gfx/webrender/src/glyph_rasterizer/pathfinder.rs => gfx/wr/webrender/src/glyph_rasterizer/pathfinder.rs
rename : gfx/webrender/src/gpu_cache.rs => gfx/wr/webrender/src/gpu_cache.rs
rename : gfx/webrender/src/gpu_glyph_renderer.rs => gfx/wr/webrender/src/gpu_glyph_renderer.rs
rename : gfx/webrender/src/gpu_types.rs => gfx/wr/webrender/src/gpu_types.rs
rename : gfx/webrender/src/hit_test.rs => gfx/wr/webrender/src/hit_test.rs
rename : gfx/webrender/src/image.rs => gfx/wr/webrender/src/image.rs
rename : gfx/webrender/src/intern.rs => gfx/wr/webrender/src/intern.rs
rename : gfx/webrender/src/internal_types.rs => gfx/wr/webrender/src/internal_types.rs
rename : gfx/webrender/src/lib.rs => gfx/wr/webrender/src/lib.rs
rename : gfx/webrender/src/picture.rs => gfx/wr/webrender/src/picture.rs
rename : gfx/webrender/src/platform/macos/font.rs => gfx/wr/webrender/src/platform/macos/font.rs
rename : gfx/webrender/src/platform/unix/font.rs => gfx/wr/webrender/src/platform/unix/font.rs
rename : gfx/webrender/src/platform/windows/font.rs => gfx/wr/webrender/src/platform/windows/font.rs
rename : gfx/webrender/src/prim_store.rs => gfx/wr/webrender/src/prim_store.rs
rename : gfx/webrender/src/print_tree.rs => gfx/wr/webrender/src/print_tree.rs
rename : gfx/webrender/src/profiler.rs => gfx/wr/webrender/src/profiler.rs
rename : gfx/webrender/src/record.rs => gfx/wr/webrender/src/record.rs
rename : gfx/webrender/src/render_backend.rs => gfx/wr/webrender/src/render_backend.rs
rename : gfx/webrender/src/render_task.rs => gfx/wr/webrender/src/render_task.rs
rename : gfx/webrender/src/renderer.rs => gfx/wr/webrender/src/renderer.rs
rename : gfx/webrender/src/resource_cache.rs => gfx/wr/webrender/src/resource_cache.rs
rename : gfx/webrender/src/scene.rs => gfx/wr/webrender/src/scene.rs
rename : gfx/webrender/src/scene_builder.rs => gfx/wr/webrender/src/scene_builder.rs
rename : gfx/webrender/src/segment.rs => gfx/wr/webrender/src/segment.rs
rename : gfx/webrender/src/shade.rs => gfx/wr/webrender/src/shade.rs
rename : gfx/webrender/src/spatial_node.rs => gfx/wr/webrender/src/spatial_node.rs
rename : gfx/webrender/src/surface.rs => gfx/wr/webrender/src/surface.rs
rename : gfx/webrender/src/texture_allocator.rs => gfx/wr/webrender/src/texture_allocator.rs
rename : gfx/webrender/src/texture_cache.rs => gfx/wr/webrender/src/texture_cache.rs
rename : gfx/webrender/src/tiling.rs => gfx/wr/webrender/src/tiling.rs
rename : gfx/webrender/src/util.rs => gfx/wr/webrender/src/util.rs
rename : gfx/webrender/tests/angle_shader_validation.rs => gfx/wr/webrender/tests/angle_shader_validation.rs
rename : gfx/webrender/tests/bug_124.html => gfx/wr/webrender/tests/bug_124.html
rename : gfx/webrender/tests/bug_134.html => gfx/wr/webrender/tests/bug_134.html
rename : gfx/webrender/tests/bug_137.html => gfx/wr/webrender/tests/bug_137.html
rename : gfx/webrender/tests/bug_143.html => gfx/wr/webrender/tests/bug_143.html
rename : gfx/webrender/tests/bug_159.html => gfx/wr/webrender/tests/bug_159.html
rename : gfx/webrender/tests/bug_166.html => gfx/wr/webrender/tests/bug_166.html
rename : gfx/webrender/tests/bug_176.html => gfx/wr/webrender/tests/bug_176.html
rename : gfx/webrender/tests/bug_177.html => gfx/wr/webrender/tests/bug_177.html
rename : gfx/webrender/tests/bug_178.html => gfx/wr/webrender/tests/bug_178.html
rename : gfx/webrender/tests/bug_203a.html => gfx/wr/webrender/tests/bug_203a.html
rename : gfx/webrender/tests/bug_203b.html => gfx/wr/webrender/tests/bug_203b.html
rename : gfx/webrender/tests/bug_servo_10136.html => gfx/wr/webrender/tests/bug_servo_10136.html
rename : gfx/webrender/tests/bug_servo_10164.html => gfx/wr/webrender/tests/bug_servo_10164.html
rename : gfx/webrender/tests/bug_servo_10307.html => gfx/wr/webrender/tests/bug_servo_10307.html
rename : gfx/webrender/tests/bug_servo_11358.html => gfx/wr/webrender/tests/bug_servo_11358.html
rename : gfx/webrender/tests/bug_servo_9983a.html => gfx/wr/webrender/tests/bug_servo_9983a.html
rename : gfx/webrender/tests/color_pattern_1.png => gfx/wr/webrender/tests/color_pattern_1.png
rename : gfx/webrender/tests/color_pattern_2.png => gfx/wr/webrender/tests/color_pattern_2.png
rename : gfx/webrender/tests/fixed-position.html => gfx/wr/webrender/tests/fixed-position.html
rename : gfx/webrender/tests/mix-blend-mode-2.html => gfx/wr/webrender/tests/mix-blend-mode-2.html
rename : gfx/webrender/tests/mix-blend-mode.html => gfx/wr/webrender/tests/mix-blend-mode.html
rename : gfx/webrender/tests/nav-1.html => gfx/wr/webrender/tests/nav-1.html
rename : gfx/webrender/tests/nav-2.html => gfx/wr/webrender/tests/nav-2.html
rename : gfx/webrender_api/Cargo.toml => gfx/wr/webrender_api/Cargo.toml
rename : gfx/webrender_api/src/api.rs => gfx/wr/webrender_api/src/api.rs
rename : gfx/webrender_api/src/channel.rs => gfx/wr/webrender_api/src/channel.rs
rename : gfx/webrender_api/src/channel_ipc.rs => gfx/wr/webrender_api/src/channel_ipc.rs
rename : gfx/webrender_api/src/channel_mpsc.rs => gfx/wr/webrender_api/src/channel_mpsc.rs
rename : gfx/webrender_api/src/color.rs => gfx/wr/webrender_api/src/color.rs
rename : gfx/webrender_api/src/display_item.rs => gfx/wr/webrender_api/src/display_item.rs
rename : gfx/webrender_api/src/display_list.rs => gfx/wr/webrender_api/src/display_list.rs
rename : gfx/webrender_api/src/font.rs => gfx/wr/webrender_api/src/font.rs
rename : gfx/webrender_api/src/gradient_builder.rs => gfx/wr/webrender_api/src/gradient_builder.rs
rename : gfx/webrender_api/src/image.rs => gfx/wr/webrender_api/src/image.rs
rename : gfx/webrender_api/src/lib.rs => gfx/wr/webrender_api/src/lib.rs
rename : gfx/webrender_api/src/units.rs => gfx/wr/webrender_api/src/units.rs
rename : gfx/wrench/.gitignore => gfx/wr/wrench/.gitignore
rename : gfx/wrench/Cargo.toml => gfx/wr/wrench/Cargo.toml
rename : gfx/wrench/README.md => gfx/wr/wrench/README.md
rename : gfx/wrench/build.rs => gfx/wr/wrench/build.rs
rename : gfx/webrender/res/Proggy.ttf => gfx/wr/wrench/reftests/text/Proggy.ttf
rename : gfx/wrench/res/wrench.exe.manifest => gfx/wr/wrench/res/wrench.exe.manifest
rename : gfx/wrench/src/angle.rs => gfx/wr/wrench/src/angle.rs
rename : gfx/wrench/src/args.yaml => gfx/wr/wrench/src/args.yaml
rename : gfx/wrench/src/binary_frame_reader.rs => gfx/wr/wrench/src/binary_frame_reader.rs
rename : gfx/wrench/src/blob.rs => gfx/wr/wrench/src/blob.rs
rename : gfx/wrench/src/cgfont_to_data.rs => gfx/wr/wrench/src/cgfont_to_data.rs
rename : gfx/wrench/src/egl.rs => gfx/wr/wrench/src/egl.rs
rename : gfx/wrench/src/json_frame_writer.rs => gfx/wr/wrench/src/json_frame_writer.rs
rename : gfx/wrench/src/main.rs => gfx/wr/wrench/src/main.rs
rename : gfx/wrench/src/parse_function.rs => gfx/wr/wrench/src/parse_function.rs
rename : gfx/wrench/src/perf.rs => gfx/wr/wrench/src/perf.rs
rename : gfx/wrench/src/png.rs => gfx/wr/wrench/src/png.rs
rename : gfx/wrench/src/premultiply.rs => gfx/wr/wrench/src/premultiply.rs
rename : gfx/wrench/src/rawtest.rs => gfx/wr/wrench/src/rawtest.rs
rename : gfx/wrench/src/reftest.rs => gfx/wr/wrench/src/reftest.rs
rename : gfx/wrench/src/ron_frame_writer.rs => gfx/wr/wrench/src/ron_frame_writer.rs
rename : gfx/wrench/src/scene.rs => gfx/wr/wrench/src/scene.rs
rename : gfx/wrench/src/wrench.rs => gfx/wr/wrench/src/wrench.rs
rename : gfx/wrench/src/yaml_frame_reader.rs => gfx/wr/wrench/src/yaml_frame_reader.rs
rename : gfx/wrench/src/yaml_frame_writer.rs => gfx/wr/wrench/src/yaml_frame_writer.rs
rename : gfx/wrench/src/yaml_helper.rs => gfx/wr/wrench/src/yaml_helper.rs
extra : moz-landing-system : lando
2018-11-22 21:47:48 +00:00

1.1 KiB

WebRender

GPU renderer for the Web content, used by Servo.

Update as a Dependency

After updating shaders in WebRender, go to servo and:

  • Go to the servo directory and do ./mach update-cargo -p webrender
  • Create a pull request to servo

Use WebRender with Servo

To use a local copy of WebRender with servo, go to your servo build directory and:

  • Edit Cargo.toml
  • Add at the end of the file:
[patch."https://github.com/servo/webrender"]
"webrender" = { path = "<path>/webrender" }
"webrender_api" = { path = "<path>/webrender_api" }

where <path> is the path to your local copy of WebRender.

  • Build as normal

Documentation

The Wiki has a few pages describing the internals and conventions of WebRender.

Testing

Tests run using OSMesa to get consistent rendering across platforms.

Still there may be differences depending on font libraries on your system, for example.

See this gist for how to make the text tests useful in Fedora, for example.