Closed Bug 1801588 Opened 1 year ago Closed 1 year ago

[HWA] "copy" composite mode doesn't work anymore

Categories

(Core :: Graphics: Canvas2D, defect)

Firefox 109
defect

Tracking

()

RESOLVED FIXED
109 Branch
Tracking Status
firefox-esr102 --- unaffected
firefox107 --- disabled
firefox108 --- disabled
firefox109 --- fixed

People

(Reporter: tristan.fraipont, Assigned: lsalzman)

References

(Regression)

Details

(Keywords: regression)

Attachments

(3 files)

Attached file test-case.html

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:107.0) Gecko/20100101 Firefox/107.0

Steps to reproduce:

  1. Ensure to have gfx.canvas.accelerated flag set on.
  2. Draw some content over a Canvas2D context.
  3. Set the context's globalCompositeOperation (gCO) mode to "copy".
  4. Draw something new on the context.

Actual results:

The new content is drawn on top of the existing content as if the gCO was set to "source-over".

Expected results:

The new content should have replaced the existing content entirely, i.e only the last drawn content should be visible.

Note that drawImage() behaves even weirder where transparent pixels of the source image actually erase the content below. Sounds like there is an issue with the clipping region.

Bug 1779681 - Mark WebGL framebuffer as initially valid in DrawTargetWebgl. r=aosmond,gfx-reviewers

mWebglValid gets initialized to false, but it will never get reset to true until the next
frame, causing us to render into Skia the first frame rather than accelerate. Therefor, we
should just initialize it to valid. Since it is cleared to zero initially, this is safe.

Differential Revision: https://phabricator.services.mozilla.com/D151896

2022-11-21T12:39:51.574000: DEBUG : Did not find a branch, checking all integration branches
2022-11-21T12:39:51.577000: INFO : The bisection is done.
2022-11-21T12:39:51.635000: INFO : Stopped

Status: UNCONFIRMED → NEW
Has STR: --- → yes
Ever confirmed: true
Flags: needinfo?(lsalzman)
Keywords: regression
Regressed by: 1779681

Set release status flags based on info from the regressing bug 1779681

Assignee: nobody → lsalzman
Status: NEW → ASSIGNED
Flags: needinfo?(lsalzman)
Pushed by lsalzman@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/26208f1c96fb
Ensure region outside mask but inside clip is cleared for copy op. r=aosmond
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 109 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: