From b6d27eceff15cdfc27f5ad79748fde569dd7ea89 Mon Sep 17 00:00:00 2001 From: Glenn Watson Date: Tue, 9 Mar 2021 20:05:47 +0000 Subject: [PATCH] Bug 1696842 - Establish raster roots for more picture composite modes. r=gfx-reviewers,lsalzman Add MixBlend and ComponentTransfer to the picture composite modes that unconditionally establish a raster root. All the known bugs with the raster root code have been fixed, so let's start incrementally enabling raster roots for more picture modes, and fix any regressions that come from these before making raster roots the default for all surfaces. Differential Revision: https://phabricator.services.mozilla.com/D107405 --- gfx/wr/webrender/src/picture.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gfx/wr/webrender/src/picture.rs b/gfx/wr/webrender/src/picture.rs index fa94e4003873..4d91e6e20eb4 100644 --- a/gfx/wr/webrender/src/picture.rs +++ b/gfx/wr/webrender/src/picture.rs @@ -6038,13 +6038,13 @@ impl PicturePrimitive { // we will probably remove TileCache as a specific composite mode. false } - PictureCompositeMode::SvgFilter(..) => { + PictureCompositeMode::SvgFilter(..) | + PictureCompositeMode::MixBlend(..) | + PictureCompositeMode::ComponentTransferFilter(..) => { // Filters must be applied before transforms, to do this, we can mark this picture as establishing a raster root. true } - PictureCompositeMode::MixBlend(..) | PictureCompositeMode::Filter(..) | - PictureCompositeMode::ComponentTransferFilter(..) | PictureCompositeMode::Blit(..) => { // TODO(gw): As follow ups, individually move each of these composite modes to create raster roots. surface_to_parent_transform.is_perspective()