New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 752680 link

Starred by 7 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 3
Type: Bug

Blocking:
issue 590342



Sign in to add a comment

Unnecessary quads drawn underneath videos with Gpu rasterization enabled.

Project Member Reported by jbau...@chromium.org, Aug 4 2017

Issue description

Currently when drawing quads that are partially occluded we can only shrink the visible rectangles to be a smaller rectangle, and not an arbitrary shape. This causes a problem when the video occludes the corner of a quad, because the remaining unoccluded area is an L shape and the minimum containing rectangle is the full size of the original rectangle.

With software rasterization this isn't much of a problem, because each quad is 256x256 and only the 4 corner tiles are affected by this. The maximum number of pixels overdrawn is 262144, which is normally a small portion of the screen. With GPU rasterization the quads are as wide as the window and also taller, so it's possible two entire quads are affected by this.

This bug causes unnecessary overdraw below videos when overlays aren't being used, and wastes power. I've got a patch that splits quads so that we can handle occlusion more precisely at https://codereview.chromium.org/2402583005/  though it might hurt in circumstances where it generates a lot more quads and therefore a lot more draw calls.



 
What tools do you use to do GPU profiling, or do you just know what the code is doing?
I think Intel reported this to us initially, using whatever tools they use. To confirm it, I've used the "Show layer borders" option from the Rendering pane of the devtools, and actually just made the video quad not draw at all so we could see what was happening underneath it.

Unfortunately I think "Frame viewer" in about:tracing doesn't know about occlusion culling, so that doesn't help. There's also --show-overdraw-feedback, which works on Chrome OS but not windows. I think we'd need to enable stencil buffers on the swapchain to make it work, and also maybe other bug fixes.
Cc: stanisc@chromium.org
Project Member

Comment 4 by sheriffbot@chromium.org, Sep 10

Labels: Hotlist-Recharge-Cold
Status: Untriaged (was: Available)
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue.

Sorry for the inconvenience if the bug really should have been left as Available.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Cc: danakj@chromium.org yiyix@chromium.org
Status: Available (was: Untriaged)
Keeping around in case this is something we want to try for occlusion culling.

Sign in to add a comment