Add a pref to dump serialized WebRender display list in a cleaner format
Categories
(Core :: Graphics: WebRender, enhancement, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox75 | --- | fixed |
People
(Reporter: mikokm, Assigned: mikokm)
References
Details
Attachments
(1 file)
This patch adds a pref gfx.webrender.dl.dump-content-serialized
that prints the serialized display list for content processes.
Example:
-- WebRender display list: --
PushStackingContext(PushStackingContextDisplayItem { origin: (0.0,0.0), spatial_id: SpatialId(1, PipelineId(1, 10)), prim_flags: IS_BACKFACE_VISIBLE, stacking_context: StackingContext { transform_style: Flat, mix_blend_mode: Normal, clip_id: Some(Clip(0, PipelineId(1, 10))), raster_space: Screen, cache_tiles: true, is_backdrop_root: false } })
Rectangle(RectangleDisplayItem { common: CommonItemProperties { clip_rect: Rect(960.0×1103.0 at (0.0,0.0)), clip_id: Clip(0, PipelineId(1, 10)), spatial_id: SpatialId(1, PipelineId(1, 10)), hit_info: None, flags: IS_BACKFACE_VISIBLE, item_key: None }, color: ColorF { r: 1.0, g: 1.0, b: 1.0, a: 1.0 } })
HitTest(HitTestDisplayItem { common: CommonItemProperties { clip_rect: Rect(960.0×1103.0 at (0.0,0.0)), clip_id: Clip(0, PipelineId(1, 10)), spatial_id: SpatialId(1, PipelineId(1, 10)), hit_info: Some((0, 1)), flags: IS_BACKFACE_VISIBLE, item_key: None } })
ScrollFrame(ScrollFrameDisplayItem { clip_id: Clip(1, PipelineId(1, 10)), scroll_frame_id: SpatialId(2, PipelineId(1, 10)), content_rect: Rect(960.0×1103.0 at (0.0,0.0)), clip_rect: Rect(960.0×1103.0 at (0.0,0.0)), parent_space_and_clip: SpaceAndClipInfo { spatial_id: SpatialId(1, PipelineId(1, 10)), clip_id: Clip(0, PipelineId(1, 10)) }, external_id: Some(ExternalScrollId(3, PipelineId(1, 10))), image_mask: None, scroll_sensitivity: Script, external_scroll_offset: (0.0,0.0) })
Clip(ClipDisplayItem { id: Clip(2, PipelineId(1, 10)), parent_space_and_clip: SpaceAndClipInfo { spatial_id: SpatialId(1, PipelineId(1, 10)), clip_id: Clip(0, PipelineId(1, 10)) }, clip_rect: Rect(960.0×1103.0 at (0.0,0.0)), image_mask: None })
ClipChain(ClipChainItem { id: ClipChainId(0, PipelineId(1, 10)), parent: None })
HitTest(HitTestDisplayItem { common: CommonItemProperties { clip_rect: Rect(960.0×1103.0 at (0.0,0.0)), clip_id: ClipChain(ClipChainId(0, PipelineId(1, 10))), spatial_id: SpatialId(2, PipelineId(1, 10)), hit_info: Some((3, 1)), flags: IS_BACKFACE_VISIBLE, item_key: None } })
ClipChain(ClipChainItem { id: ClipChainId(1, PipelineId(1, 10)), parent: None })
HitTest(HitTestDisplayItem { common: CommonItemProperties { clip_rect: Rect(960.0×1103.0 at (0.0,0.0)), clip_id: ClipChain(ClipChainId(1, PipelineId(1, 10))), spatial_id: SpatialId(2, PipelineId(1, 10)), hit_info: Some((3, 1)), flags: IS_BACKFACE_VISIBLE, item_key: None } })
Rectangle(RectangleDisplayItem { common: CommonItemProperties { clip_rect: Rect(960.0×1103.0 at (0.0,0.0)), clip_id: ClipChain(ClipChainId(1, PipelineId(1, 10))), spatial_id: SpatialId(2, PipelineId(1, 10)), hit_info: None, flags: IS_BACKFACE_VISIBLE, item_key: None }, color: ColorF { r: 1.0, g: 1.0, b: 1.0, a: 1.0 } })
Clip(ClipDisplayItem { id: Clip(3, PipelineId(1, 10)), parent_space_and_clip: SpaceAndClipInfo { spatial_id: SpatialId(2, PipelineId(1, 10)), clip_id: Clip(1, PipelineId(1, 10)) }, clip_rect: Rect(100.0×100.0 at (8.0,8.0)), image_mask: None })
ClipChain(ClipChainItem { id: ClipChainId(2, PipelineId(1, 10)), parent: None })
PushStackingContext(PushStackingContextDisplayItem { origin: (8.0,8.0), spatial_id: SpatialId(2, PipelineId(1, 10)), prim_flags: IS_BACKFACE_VISIBLE, stacking_context: StackingContext { transform_style: Flat, mix_blend_mode: Normal, clip_id: Some(ClipChain(ClipChainId(2, PipelineId(1, 10)))), raster_space: Screen, cache_tiles: false, is_backdrop_root: false } })
Image(ImageDisplayItem { common: CommonItemProperties { clip_rect: Rect(100.0×100.0 at (0.0,0.0)), clip_id: Clip(0, PipelineId(1, 10)), spatial_id: SpatialId(2, PipelineId(1, 10)), hit_info: Some((3, 3)), flags: IS_BACKFACE_VISIBLE, item_key: None }, bounds: Rect(100.0×100.0 at (0.0,0.0)), image_key: ImageKey(IdNamespace(5), 3), image_rendering: Auto, alpha_type: PremultipliedAlpha, color: ColorF { r: 1.0, g: 1.0, b: 1.0, a: 1.0 } })
PopStackingContext
PopStackingContext
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 1•5 years ago
|
||
Pushed by mikokm@gmail.com: https://hg.mozilla.org/integration/autoland/rev/3a8d5795c985 Add a pref to dump the serialized WebRender display list r=kvark
Comment 3•5 years ago
|
||
Backed out for tidy bustage on display_list.rs
backout: https://hg.mozilla.org/integration/autoland/rev/6f4560630238502bc8ad26351b65fbb7189a9e96
failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=289769695&repo=autoland
[task 2020-02-20T23:23:44.341Z] Checking files for tidiness...
[task 2020-02-20T23:23:44.341Z]
[task 2020-02-20T23:23:44.342Z] Progress: 0% (2/1045)
[task 2020-02-20T23:23:44.342Z] Progress: 0% (3/1045)
[task 2020-02-20T23:23:44.342Z] Progress: 0% (4/1045)
[task 2020-02-20T23:23:44.342Z] Progress: 0% (5/1045)
[task 2020-02-20T23:23:44.342Z] Progress: 0% (6/1045)
[task 2020-02-20T23:23:44.342Z] Progress: 0% (7/1045)
[task 2020-02-20T23:23:44.342Z] Progress: 0% (8/1045)
[task 2020-02-20T23:23:44.437Z] Progress: 0% (9/1045)
[task 2020-02-20T23:23:44.437Z] Progress: 0% (10/1045)
[task 2020-02-20T23:23:44.460Z] Progress: 1% (11/1045)
[task 2020-02-20T23:23:44.469Z] Progress: 1% (12/1045)
[task 2020-02-20T23:23:44.470Z] Progress: 1% (13/1045)
[task 2020-02-20T23:23:44.483Z] Progress: 1% (14/1045)
[task 2020-02-20T23:23:44.499Z] Progress: 1% (15/1045)
[task 2020-02-20T23:23:44.499Z] Progress: 1% (16/1045)
[task 2020-02-20T23:23:44.500Z] Progress: 1% (17/1045)
[task 2020-02-20T23:23:44.500Z] Progress: 1% (18/1045)
[task 2020-02-20T23:23:44.500Z] Progress: 1% (19/1045)
[task 2020-02-20T23:23:44.500Z] Progress: 1% (20/1045)
[task 2020-02-20T23:23:44.500Z] Progress: 2% (21/1045)
[task 2020-02-20T23:23:44.500Z] Progress: 2% (22/1045)
[task 2020-02-20T23:23:44.500Z] Progress: 2% (23/1045)
[task 2020-02-20T23:23:44.501Z] Progress: 2% (24/1045)
[task 2020-02-20T23:23:44.515Z] Progress: 2% (25/1045)
[task 2020-02-20T23:23:44.548Z] Progress: 2% (26/1045)
[task 2020-02-20T23:23:44.555Z] Progress: 2% (27/1045)
[task 2020-02-20T23:23:44.555Z] ./webrender_api/src/display_list.rs:1765: trailing whitespace
[task 2020-02-20T23:23:44.693Z]
[task 2020-02-20T23:23:44.848Z] Progress: 2% (28/1045)
[task 2020-02-20T23:23:44.853Z] Progress: 2% (29/1045)
[task 2020-02-20T23:23:44.865Z] Progress: 2% (30/1045)
Pushed by mikokm@gmail.com: https://hg.mozilla.org/integration/autoland/rev/cee2ebb35aa7 Add a pref to dump the serialized WebRender display list r=kvark
Comment 6•5 years ago
|
||
bugherder |
Comment 7•5 years ago
|
||
There was no reason to kill print_display_list
…
Assignee | ||
Comment 8•5 years ago
|
||
(In reply to Anthony Ramine [:nox] from comment #7)
There was no reason to kill
print_display_list
…
From Gecko developer's perspective there were at least three reasons:
- No callers in mozilla-central
- It did not work when I tried it (printed literally nothing)
- It might not work as expected even if it did, see bug 1572421
Description
•