Closed Bug 1692894 Opened 4 years ago Closed 4 years ago

Stop creating Direct3D/2D devices when no longer required in the content process.

Categories

(Core :: Graphics, enhancement, P1)

All
Windows
enhancement

Tracking

()

RESOLVED FIXED
88 Branch
Tracking Status
firefox88 --- fixed

People

(Reporter: bobowen, Assigned: bobowen)

References

Details

Attachments

(2 files)

With webrender enabled we only initialize the acceleration devices, when we're about to use canvas 2D or media decoders.

This is to stop that initialization when using remote canvas and all remote decoders.

It also has some other changes to make sure we don't try to use accelerated draw targets for non-remote layers and other offscreen canvas DrawTargets.

Summary: Stop creating Direct3D/2D when no longer required in the content process. → Stop creating Direct3D/2D devices when no longer required in the content process.

Cancelled try push. I still need to adjust the fuzz in one test. the other failure seems a bit different.
https://treeherder.mozilla.org/jobs?repo=try&duplicate_jobs=visible&selectedTaskRun=SJnWNqf1QQaW81rL76rzBA.0&revision=24af4bc3f8557d3dc5c189121becc36a108f73c9

(In reply to Bob Owen (:bobowen) from comment #1)

Cancelled try push. I still need to adjust the fuzz in one test. the other failure seems a bit different.
https://treeherder.mozilla.org/jobs?repo=try&duplicate_jobs=visible&selectedTaskRun=SJnWNqf1QQaW81rL76rzBA.0&revision=24af4bc3f8557d3dc5c189121becc36a108f73c9

Actually both of these turned out to be due to software webrender.
In the one I think the DrawTargets now match, so less fuzz is needed.
In the other, with software webrender it means we use a non-remote layer, fall back to skia and the test is known failure.

New try push:
https://treeherder.mozilla.org/jobs?repo=try&duplicate_jobs=visible&revision=261da6aee0cafd3007b29bd3cca38acf6fdf7c75

(In reply to Bob Owen (:bobowen) from comment #2)
...

New try push:
https://treeherder.mozilla.org/jobs?repo=try&duplicate_jobs=visible&revision=261da6aee0cafd3007b29bd3cca38acf6fdf7c75

... and I still missed one of the tests that I thought I'd sorted because there were two failures in the same run. :-(
Fixed in the patch I'm about to upload.

This also adds related DLLs to be delay loaded to xul's moz.build. This means
that if we don't create the devices they are not loaded at all.

Pushed by bobowencode@gmail.com: https://hg.mozilla.org/integration/autoland/rev/6e3c2a39bf32 p1: Don't create devices for canvas when remote canvas is in use. r=jrmuizel https://hg.mozilla.org/integration/autoland/rev/6b30d87e0b90 p2: Don't create devices for decoding when all decoders are remote. r=mattwoodrow
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 88 Branch
Regressions: 1695581
Regressions: 1695725
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: