Closed Bug 1203744 Opened 4 years ago Closed 4 years ago

SCREEN blending with unpremultiplied source data is broken in CompositorOGL

Categories

(Core :: Graphics: Layers, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla43
Tracking Status
firefox43 --- fixed

People

(Reporter: mattwoodrow, Assigned: mattwoodrow)

Details

Attachments

(1 file)

For unpremultiplied SCREEN we need a blending function that will give us:

Color = src*srcAlpha + (1-src*srcAlpha)*dest

The current code gets:

Color = src*srcAlpha + (1-src)*dest

There doesn't appear to be a way to do this using blend functions alone, so switching to use the shader for premultiplication.
Attachment #8659577 - Flags: review?(dvander)
Attachment #8659577 - Flags: review?(dvander) → review+
https://hg.mozilla.org/mozilla-central/rev/302f955a5227
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla43
You need to log in before you can comment on or make changes to this bug.