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
This commit is contained in:
Glenn Watson 2021-03-09 20:05:47 +00:00
Родитель 155dabdde2
Коммит b6d27eceff
1 изменённых файлов: 3 добавлений и 3 удалений

Просмотреть файл

@ -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()