Open
Bug 1691097
Opened 4 years ago
Updated 1 year ago
Implement missing WebRender functionality causing us to use blob images
Categories
(Core :: Graphics: WebRender, enhancement)
Core
Graphics: WebRender
Tracking
()
NEW
People
(Reporter: nical, Unassigned)
References
(Blocks 1 open bug)
Details
Looking at where CreateWebRenderCommands returns false in nsDisplayList,cpp (which triggers the blob image fall-back I gathered this (likely incomplete) list:
- SVG geometry
- themed backgrounds
- nsDisplayBackgroundColor
- HasBackgroundClipText()
- nsDisplayOutline
- IsThemedOutline()
- nsDisplayBorder
- Gradient border
- mBorderImageRepeatH == StyleBorderImageRepeat::Space (etc.)
- More stuff (I got lost in layers of indirection).
- nsDisplayBoxShadowOuter
- nativeTheme
- if mBoxShadow is emppty (the equivalent painting code early-returns so I think we should not need a blop here)
- nsDisplayBoxShadowInner
- nativeTheme
- nsDisplayPerspective
- !GetChildren()->GetTop() (sounds like it should be an early-return?)
- nsDisplayText
- font size > kWebRenderFontSizeLimit
- nsDisplayBackdropFilters
- if the filter chain is compatible with webrender
- nsDisplayFilters
- if the filter chain is compatible with webrender
- nsDisplayBackgroundImage
- text clip
- mBackgroundStyle->StyleBackground() is null
- themed
- "We only support painting gradients and image for a single style image layer, and we don't support crop-rects."
- Some more stuff that is hard to understand at a glance in nsCSSRendering::CanBuildWebRenderDisplayItemsForStyleImageLayer
- nsDisplayBackgroundColor
- text clip
- nsDisplayOutline
- themed
You need to log in
before you can comment on or make changes to this bug.
Description
•