Closed Bug 1704000 Opened 4 years ago Closed 4 years ago

Enable reftests on Android for SW-WR

Categories

(Core :: Graphics: WebRender, task)

task

Tracking

()

RESOLVED FIXED
90 Branch
Tracking Status
firefox90 --- fixed

People

(Reporter: sotaro, Assigned: sotaro)

References

(Blocks 2 open bugs)

Details

Attachments

(3 files, 3 obsolete files)

We should be running SW-WR reftests on Android.

Assignee: nobody → sotaro.ikeda.g

Just enabling sw-wr reftest caused crash in CompositorOGL::BeginFrame()
https://treeherder.mozilla.org/jobs?repo=try&revision=35f4becd1411f29ce6df944c17a05cc76d4d79c5

Depends on: 1704431
Attachment #9215038 - Attachment description: WIP: Bug 1704000 - RenderCompositorLayersSWGL::BeforeWrRender() → Bug 1704000 - RenderCompositorLayersSWGL::BeforeWrRender()

Comment on attachment 9215038 [details]
Bug 1704000 - RenderCompositorLayersSWGL::BeforeWrRender()

Revision D111583 was moved to bug 1704431. Setting attachment 9215038 [details] to obsolete.

Attachment #9215038 - Attachment is obsolete: true

With current patch, test failures were basically addressed. But some apz tests results seem to have problems. Black rectangle exists :(
https://treeherder.mozilla.org/jobs?repo=try&revision=671e4d5541b065bd7248b73d19d433760c3a312a

Depends on: 1705593
Depends on: 1705990

On release build, frequency of failures became less frequent.

https://treeherder.mozilla.org/jobs?repo=try&revision=bb6247a1f2f2b02cb1b0c4be7ca31ea5d69623da

zoom performance is not good(bug 1703709). It might be related.

(In reply to Sotaro Ikeda [:sotaro] from comment #6)

Reftests still have some failures :(

With PBO
https://treeherder.mozilla.org/jobs?repo=try&revision=b8d0a1b6feb80513e91fd0fa56f39dc2f816f129

Without PBO
https://treeherder.mozilla.org/jobs?repo=try&revision=37c7b3d0a7e657b57f13e9882d25c117e10cc325

It seems that, azp did not work as expected with sw-wr. But sw-wr does not directly interact with apz.

:hiro, do you have any ideas about what could cause the problem?

Flags: needinfo?(hikezoe.birchill)

Given that failures happen on tests specifying reftest-async-scroll and those failures are not perma, it's high frequent intermittent, it looks like with SW-WR we take a snapshot before applying the async scroll offset even though it's a sync IPC call, the call ends up deferring the task to the updater thread, that's the problem?

Flags: needinfo?(hikezoe.birchill)

(In reply to Hiroyuki Ikezoe (:hiro) from comment #10)

Given that failures happen on tests specifying reftest-async-scroll and those failures are not perma, it's high frequent intermittent, it looks like with SW-WR we take a snapshot before applying the async scroll offset even though it's a sync IPC call, the call ends up deferring the task to the updater thread, that's the problem?

And moreover, even if applying the offset value has finished on the updater thread at the moment we take a snapshot, the offset needs to be sampled on the sampler thread, then it needs to be rendered on the renderer thread? I am pretty sure about the sampler thread, but not 100% about the renderer thread.

When RenderCompositorOGLSWGL always request full render, the failures did not happen. The problem seems to exist around RenderCompositorOGLSWGL.
https://treeherder.mozilla.org/jobs?repo=try&revision=65962e21ec8f5b2c160f57c72b3b716e82ad4dc9

Just apz scroll update might not provide dirty rect.

Depends on: 1708103
Depends on: 1708590
Depends on: 1708665
Blocks: 1708665
No longer depends on: 1708665
Attachment #9219498 - Attachment is obsolete: true

APZ test failure was related to skip rendering during taking snapshot.

RendererOGL::UpdateAndRender() does readback with glReadPixels(). If RenderCompositorOGLSWGL skips rendering at RenderCompositorLayersSWGL::StartCompositing(), frambuffer does not have valid rendering. readback image was old data that existed in android BufferQueue.

When rendering was forced during readback, reftest failures were addressed.
https://treeherder.mozilla.org/jobs?repo=try&revision=2abb60075d8af54b17b021e7db42ed08652feeb9

Attachment #9223163 - Attachment description: Bug 1704000 - Request rendering for readback → Bug 1704000 - Request rendering for RenderCompositorOGLSWGL::MaybeReadback()
Attached file Bug 1704000 - Update reftest.list (deleted) —
Attachment #9214594 - Attachment is obsolete: true
Pushed by sikeda.birchill@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/8e6ae945c88a Enable reftests on Android emulator for SW-WR r=jmaher,gfx-reviewers,bradwerth
Pushed by sikeda.birchill@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/e24c277bcb6c Update reftest.list r=jmaher,gfx-reviewers,bradwerth
Pushed by sikeda.birchill@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/c05978287481 Request rendering for RenderCompositorOGLSWGL::MaybeReadback() r=gfx-reviewers,bradwerth

Sorry, I forgot to land dependent patches.

Flags: needinfo?(sotaro.ikeda.g)
Keywords: leave-open
Pushed by sikeda.birchill@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/e8da269046d5 Enable reftests on Android emulator for SW-WR r=jmaher,gfx-reviewers,bradwerth
Keywords: leave-open
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 90 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: