New issue
Advanced search Search tips

Issue 902772 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Chrome , Fuchsia
Pri: 3
Type: Feature



Sign in to add a comment

Implement render pass bypasses for render passes containing only one solid color draw quad

Project Member Reported by dcasta...@chromium.org, Nov 7

Issue description

Currently CrOS launcher background is implemented as a solid color with a backdrop filter.
In GLRenderer we end up with a renderpass that has a backdrop filter and a solid color draw quad that covers the whole renderpass.

A few steps that GLRender takes to composite that renderpass today are:
1. Allocate a temporary buffer as big as the renderpass.
2. Draw a solid color draw quad to that buffer.
3. Use RenderPassDrawQuad shader to combine the solid color renderpass and the filtered backdrop to the final fb.

We could skip 1. and 2. and reduce bandwidth for 3. if we used an uniform color instead of sampling from the temporary buffer.

We already have a mechanism to bypass renderpasses for texture draw quads.
crrev.com/c/1303342 is a WIP CL to extend the same logic to render passes containing only one solid color draw quad.

The biggest benefit seems to be avoiding the allocation in 1. that can have a significant cost since the launcher changes sizes all the times and when it's covering almost all the screen it can easily be ~60MB resulting in periodic frame drops when pulling up the launcher.

 
Status: Assigned (was: Untriaged)

Sign in to add a comment