Open Bug 1647947 Opened 4 years ago Updated 2 years ago

Expose dirty regions before wr_renderer_render so that RenderCompositor::BeginFrame can utilize them

Categories

(Core :: Graphics: WebRender, enhancement)

enhancement

Tracking

()

People

(Reporter: lsalzman, Unassigned)

References

(Blocks 1 open bug)

Details

In RenderCompositor::BeginFrame, we need to lock down any resources necessary to set up a default framebuffer from the widget (i.e. calling Widget::StartRemoteDrawingInRegion). Ideally, we only want to lock down the dirty regions, but we don't know this until after wr_renderer_render returns. Yet by the time we call wr_renderer_render, the framebuffer is expected to already be initialized so that wr_renderer_render can use it. So for now, the only thing we can do is lock down the entire window, rather than only the dirty rects which we won't know till later.

It would be better if we could expose these dirty rects much earlier so that they are available by the time we hit BeginFrame, that way any RenderCompositors that need this information to only lock down the dirty region can utilize it.

Blocks: wr-perf
Severity: -- → S3
You need to log in before you can comment on or make changes to this bug.