Closed Bug 1705979 Opened 4 years ago Closed 4 years ago

Add support for nearest filtered scaled composites to SWGL

Categories

(Core :: Graphics: WebRender, task)

task

Tracking

()

RESOLVED FIXED
89 Branch
Tracking Status
firefox89 --- fixed

People

(Reporter: gw, Assigned: lsalzman)

References

Details

Attachments

(3 files)

In the SWGL compositor, it looks like we don't support the case of compositing a scaled surface with alpha and nearest filtering yet. See [1] and the handling of opaque above that.

To reproduce, apply the attached patch (which just allows non-opaque compositor surfaces to set the PREFER_COMPOSITOR_SURFACE flag), and then run:

./mach reftest --enable-webrender --setpref="layout.css.devPixelsPerPx=1.0" --setpref="gfx.webrender.software=true" layout/reftests/canvas/image-rendering-test.html

This is the only remaining blocker I'm currently aware of to enabling non-opaque compositor surfaces everywhere.

[1] https://searchfox.org/mozilla-central/source/gfx/wr/swgl/src/composite.h#432

Flags: needinfo?(matt.woodrow)
Flags: needinfo?(lsalzman)
Assignee: nobody → lsalzman
Status: NEW → ASSIGNED
Flags: needinfo?(lsalzman)
Pushed by lsalzman@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/6196a07d7399 Add support for nearest filtered scaled composites to SWGL. r=mattwoodrow
Flags: needinfo?(matt.woodrow)
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 89 Branch

With the copying and scaling code in one place, it gets a bit hard to see in the profile which one
is being used. This just moves some of the dispatching between the two up a level so they show up as
different functions in a profile.

Pushed by lsalzman@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/f00e09e47084 Make it easier to distinguish between copying and scaling in profile. r=aosmond
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: