Closed Bug 1560855 Opened 4 years ago Closed 4 years ago

Recorder is not aware of SourceSurfaceCanvasRecording

Categories

(Core :: Graphics, enhancement)

All
Windows
enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla70
Tracking Status
firefox69 --- disabled
firefox70 --- fixed

People

(Reporter: bobowen, Assigned: bobowen)

References

Details

Attachments

(1 file)

The canvas DrawEventRecorder is not aware of SourceSurfaceCanvasRecordings that are wrapping other SourceSurfaces.

This means when a SourceSurfaceCanvasRecording is not used to get data (i.e. when it is passed back into a DrawTarget) it is re-recorded, which involves pulling all the data back from the GPU process and pushing it back up again.

To fix this I'm going to add two new canvas RecordedEvents.
One to set up the SourceSurfaceCanvasRecording as an alias to the surface it wraps equivalent surface in the GPU process.
Another to remove that alias, when the SourceSurfaceCanvasRecording is destroyed in the content process.

This is done my adding two new canvas RecordedEvents, which add and remove the
SourceSurfaceCanvasRecording as an alias to the SourceSurfaces that they wrap.

Depends on D37088

Pushed by bobowencode@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/0aded829fd7a
Make recorder aware of SourceSurfaceCanvasRecordings. r=jrmuizel
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla70

Is there a user impact which justifies backport consideration or can this fix ride the trains?

Flags: needinfo?(bobowencode)

Remote 2D canvas is disabled at the moment.

Flags: needinfo?(bobowencode)
You need to log in before you can comment on or make changes to this bug.