Closed Bug 1670014 Opened 4 years ago Closed 4 years ago

Delay querying buffer age until necessary

Categories

(Core :: Graphics: WebRender, defect)

defect

Tracking

()

RESOLVED FIXED
83 Branch
Tracking Status
firefox83 --- fixed

People

(Reporter: jnicol, Assigned: jnicol)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

Currently we query the backbuffer's age in RenderCompositorEGL::BeginFrame(). This makes the driver dequeue a backbuffer, which may cause the driver to block until a buffer is available. (See bug 1668878.) We should delay calling this until necessary (in Renderer::composite_simple()) to increase the chances that the backbuffer is available.

Currently we query the backbuffer age in
RenderCompositor::BeginFrame(). Querying the age on android requires
the driver to dequeue a new backbuffer. By doing this right at the
start of the frame, we may cause the driver to block until a buffer is
ready.

We don't actually need the buffer age until part way through
rendering, in Renderer::composite_simple(), by which point there is a
bette chance the buffer is availible. So move the query to there instead.

Pushed by jnicol@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/28d4ff01fac3 Delay querying buffer age until it is actually needed. r=sotaro
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 83 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: