Summary: | [chromium] CSS Filters on accelerated layers: Brightness and Contrast don't work, Saturation is wrong | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Stephen White <senorblanco> | ||||||
Component: | CSS | Assignee: | Stephen White <senorblanco> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Normal | CC: | cc-bugs, jamesr, kbr, webkit.review.bot | ||||||
Priority: | P2 | ||||||||
Version: | 528+ (Nightly build) | ||||||||
Hardware: | All | ||||||||
OS: | All | ||||||||
Attachments: |
|
Description
Stephen White
2012-02-13 13:46:47 PST
Created attachment 126824 [details]
Patch
Comment on attachment 126824 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=126824&action=review Looks good to me though I'm no expert on the math. Couple of minor nits. > Source/WebCore/platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:43 > + memset(matrix, 0, 20 * sizeof(SkScalar)); Instead of "20 * sizeof(SkScalar)" how about just sizeof(matrix)? > Source/WebCore/platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:58 > + memset(matrix, 0, 20 * sizeof(SkScalar)); Same here. (In reply to comment #2) > (From update of attachment 126824 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=126824&action=review > > Looks good to me though I'm no expert on the math. Couple of minor nits. > > > Source/WebCore/platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:43 > > + memset(matrix, 0, 20 * sizeof(SkScalar)); > > Instead of "20 * sizeof(SkScalar)" how about just sizeof(matrix)? Doesn't work for array parameters, since they're actually pointers. You get sizeof(SkScalar*). (I actually wrote it this way first, and only a clang warning saved me!) > > Source/WebCore/platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:58 > > + memset(matrix, 0, 20 * sizeof(SkScalar)); > > Same here. Created attachment 126828 [details]
unskip the css3/filters layout tests
Comment on attachment 126824 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=126824&action=review >>> Source/WebCore/platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:43 >>> + memset(matrix, 0, 20 * sizeof(SkScalar)); >> >> Instead of "20 * sizeof(SkScalar)" how about just sizeof(matrix)? > > Doesn't work for array parameters, since they're actually pointers. You get sizeof(SkScalar*). (I actually wrote it this way first, and only a clang warning saved me!) Huh, I didn't know that! Comment on attachment 126828 [details]
unskip the css3/filters layout tests
Still looks good.
Committed r107611: <http://trac.webkit.org/changeset/107611> |