Skip to content

Instantly share code, notes, and snippets.

void DisplayListBuilder::PushShadow(const wr::LayoutRect& aRect,
const wr::LayoutRect& aClip,
bool aIsBackfaceVisible,
const wr::Shadow& aShadow) {
// Local clip_rects are translated inside of shadows, as they are assumed to
// be part of the element drawing itself, and not a parent frame clipping it.
// As such, it is not sound to apply the MergeClipLeaf optimization inside of
// shadows. So we disable the optimization when we encounter a shadow.
// Shadows don't span frames, so we don't have to worry about MergeClipLeaf
// being re-enabled mid-shadow. The optimization is restored in PopAllShadows.
(
root_pipeline_id: Some((1, 1)),
pipelines: {
(1, 1): (
pipeline_id: (1, 1),
viewport_size: (2880, 1754),
content_size: (2880, 1754),
background_color: None,
display_list: [
PushStackingContext((
@Gankra
Gankra / goals.md
Created March 27, 2019 14:30
goals
  • Help Webrender Ship

    • misc bugfixes that need help
  • Clean up Webrender's DisplayList

    • Understand what semantics are useful/guaranteed
    • Remove redundant/meaningless states
    • Reduce size of display list interprocess copies
  • Update the Rustonomicon to Rust 2018

  • Do a full read-through

[task 2019-03-19T04:34:06.169Z] REFTEST reftests/aa/rounded-rects.yaml == reftests/aa/rounded-rects-ref.png
[task 2019-03-19T04:34:06.622Z] REFTEST reftests/aa/aa-dist-bug.yaml == reftests/aa/aa-dist-bug-ref.yaml
[task 2019-03-19T04:34:06.794Z] REFTEST reftests/backface/backface-leaf.yaml == reftests/backface/backface-ref.yaml
[task 2019-03-19T04:34:06.923Z] REFTEST reftests/backface/backface-hidden.yaml == reftests/backface/backface-ref.yaml
[task 2019-03-19T04:34:07.051Z] REFTEST reftests/backface/backface-sc.yaml == reftests/backface/backface-ref.yaml
[task 2019-03-19T04:34:07.180Z] REFTEST reftests/backface/backface-picture.yaml == reftests/backface/backface-picture-ref.yaml
[task 2019-03-19T04:34:07.247Z] REFTEST reftests/backface/backface-double-flip.yaml == reftests/backface/blank.yaml
[task 2019-03-19T04:34:07.287Z] REFTEST reftests/backface/backface-both-sides.yaml == reftests/backface/backface-both-sides-ref.yaml
[task 2019-03-19T04:34:07.336Z] REFTEST reftests/blend/multiply.yaml == reftests/blend/
[task 2019-03-19T04:34:06.169Z] REFTEST reftests/aa/rounded-rects.yaml == reftests/aa/rounded-rects-ref.png
[task 2019-03-19T04:34:06.622Z] REFTEST reftests/aa/aa-dist-bug.yaml == reftests/aa/aa-dist-bug-ref.yaml
[task 2019-03-19T04:34:06.794Z] REFTEST reftests/backface/backface-leaf.yaml == reftests/backface/backface-ref.yaml
[task 2019-03-19T04:34:06.923Z] REFTEST reftests/backface/backface-hidden.yaml == reftests/backface/backface-ref.yaml
[task 2019-03-19T04:34:07.051Z] REFTEST reftests/backface/backface-sc.yaml == reftests/backface/backface-ref.yaml
[task 2019-03-19T04:34:07.180Z] REFTEST reftests/backface/backface-picture.yaml == reftests/backface/backface-picture-ref.yaml
[task 2019-03-19T04:34:07.247Z] REFTEST reftests/backface/backface-double-flip.yaml == reftests/backface/blank.yaml
[task 2019-03-19T04:34:07.287Z] REFTEST reftests/backface/backface-both-sides.yaml == reftests/backface/backface-both-sides-ref.yaml
[task 2019-03-19T04:34:07.336Z] REFTEST reftests/blend/multiply.yaml == reftests/blend/
# Test that filtered content is clipped properly in a rotated context
---
root:
items:
-
bounds: [16, 16, 0, 0]
"clip-rect": [16, 16, 0, 0]
type: "reference-frame"
transform: rotate(10)
id: 7
# Test that filtered content is clipped properly in a rotated context
---
root:
items:
-
bounds: [16, 16, 0, 0]
"clip-rect": [16, 16, 0, 0]
type: "reference-frame"
transform: rotate(10)
id: 7
(
root_pipeline_id: Some((1, 11)),
pipelines: {
(1, 11): (
pipeline_id: (1, 11),
viewport_size: (2560, 1474),
content_size: (2560, 1474),
background_color: None,
display_list: [
(
(
root_pipeline_id: Some((1, 11)),
pipelines: {
(1, 4): (
pipeline_id: (1, 4),
viewport_size: (2560, 1474),
content_size: (2560, 1474),
background_color: None,
display_list: [
(
(
content_origin: (0, 0),
framebuffer_rect: ((0, 0), (2560, 1622)),
background_color: None,
layer: 0,
passes: [
(
kind: OffScreen(
alpha: (
screen_size: (2560, 1622),