Webrender: Is there a way to achieve backdrop-filter blur (aka frosted glass effect) using Webrender?

Created on 30 Jul 2018  路  5Comments  路  Source: servo/webrender

I know this has been an outstanding issue for Mozilla Bug 1178765, but is this going to be looked at in Webrender? Alternatively, is there a way to achieve the effect in Webrender by using existing builder/pipeline funtions?

bugzilled question

Most helpful comment

(Alexandre Dieulot from bug 1178765 comment 45)

Chrome is now working on that feature.
https://bugs.chromium.org/p/chromium/issues/detail?id=497522#c134

Three months ago:

While we can't promise when the feature will be added, I wanted to let you know that we did hear your comments. We're going to try to make progress on this feature in the next few months.

Three weeks ago:

We may restart work on this feature soon, please stay tuned. The next step is to fix an error in the specification.

Today it was assigned to someone.

All 5 comments

I know a person who would know without investigation. cc @gw3583

It's not currently supported. I think it's probably not a huge amount of work (although I haven't read the bug in detail) - my guess is we could base it on the mix-blend-mode code which does a readback, and then feed that into a blur task? Either way, it's probably going to be low priority in the short term though.

I think the arguments to function push_stacking_context would need to be changed to something as follows:

pub fn push_stacking_context(
        &mut self,
        info: &LayoutPrimitiveInfo,
        clip_node_id: Option<ClipId>,
        transform_style: TransformStyle,
        mix_blend_mode: MixBlendMode,
        back_drop_filters: Vec<FilterOp>,
        filters: Vec<FilterOp>,
        glyph_raster_space: GlyphRasterSpace,
    )

This would allow more filters to be accessible using the "backdrop-filter" css property. I'm not sure how mix_blend_mode argument would be affected though or if it can be removed altogether?

(Alexandre Dieulot from bug 1178765 comment 45)

Chrome is now working on that feature.
https://bugs.chromium.org/p/chromium/issues/detail?id=497522#c134

Three months ago:

While we can't promise when the feature will be added, I wanted to let you know that we did hear your comments. We're going to try to make progress on this feature in the next few months.

Three weeks ago:

We may restart work on this feature soon, please stay tuned. The next step is to fix an error in the specification.

Today it was assigned to someone.

The attached BZ was marked RESOLVED FIXED

Was this page helpful?
0 / 5 - 0 ratings