Skip to content

scenes/opengl: Avoid blending for entirely opaque SurfaceItems

Fabian Vogt requested to merge work/fvogt/opaquealpha into master

Blending is quite expensive especially with software rendering. In the case of Firefox on Wayland, it uses a ARGB8888 buffer but marks the entire surface as opaque, so the alpha channel can be ignored.

CCBUG: 440386

Tested only in a Wayland session, couldn't find anything broken. The CPU usage while playing a video in FF went down by ~10% and apitrace shows that GL_BLEND is disabled.

Merge request reports