Bug 88265
| Summary: | [Chromium] Avoid issuing glClear for opaque render surfaces. | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | David Reveman <reveman> |
| Component: | WebCore Misc. | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED WONTFIX | ||
| Severity: | Normal | CC: | danakj, enne, jamesr, schenney |
| Priority: | P2 | ||
| Version: | 528+ (Nightly build) | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
David Reveman
We're currently issuing a glClear for all render surfaces except the root render surface. We should avoid issuing a glClear for opaque render surfaces.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Dana Jansens
Checking if a render surface is opaque is a bit annoying though. You'll need to merge all the opaque rects from its entire subtree. Will this work be < the work to clear?
David Reveman
(In reply to comment #1)
> Checking if a render surface is opaque is a bit annoying though. You'll need to merge all the opaque rects from its entire subtree. Will this work be < the work to clear?
That's hard to say as the glClear is done by the GPU while figuring out if we have to do the clear is of course not.
I doesn't have to be perfect. Could we just use the opaqueness of the owning layer as a start?
Dana Jansens
Yeh I toyed with that idea as well. We can, when the owning layer drawsContents and its content size == the surface size.
Stephen Chenney
https://code.google.com/p/chromium/issues/detail?id=231338