|
|
Chromium Code Reviews|
Created:
4 years, 7 months ago by Stephen White Modified:
4 years, 7 months ago Reviewers:
enne (OOO) CC:
cc-bugs_chromium.org, chromium-reviews, dcheng Base URL:
https://chromium.googlesource.com/chromium/src.git@master Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
Descriptioncc: fix pixel-moving filter effects on a rotated layer.
When a pixel-moving filter (e.g. blur, drop-shadow) is applied to a
transformed layer, we were leaving the edge equations used for edge-AA
at the original primitive's position, causing them to truncate the
effect (e.g., blur margins).
This fix detects that AA is required on a filter that changes the
bounds, disables edge-AA and bloats the boundaries by an extra pixel
instead.
This revealed that we were drawing the filtered result with NEAREST
filtering (!), causing some nasty jaggies when rotated. This was fixed by
manually setting the min and mag filters to LINEAR.
It also revealed that the software renderer was not
applying filter outsets. The GL renderer was previously
fixed here: https://codereview.chromium.org/1517693002. This
CL makes similar changes to the software renderer.
BUG=607831
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Committed: https://crrev.com/c2061a305a361ebda94b0e46e80a69846b875cc5
Cr-Commit-Position: refs/heads/master@{#391332}
Patch Set 1 #Patch Set 2 : add missing test results #Patch Set 3 : Implement filter bounds for cc software renderer #Patch Set 4 : Add a fuzzy pixeltest comparator for Windows #Patch Set 5 : Tweak fuzzy comparator #Patch Set 6 : further tweakage #Patch Set 7 : yet more test tweakage #
Total comments: 2
Patch Set 8 : Fix comment #
Messages
Total messages: 35 (20 generated)
Description was changed from ========== cc: fix pixel-moving filter effects on a rotated layer. When a pixel-moving filter (e.g. blur, drop-shadow) is applied to a transformed layer, we were leaving the edge equations used for edge-AA at the original primitive's position, causing them to truncate the effect (e.g., blur margins). This fix detects that AA is required on a filter that changes the bounds, disables edge-AA and bloats the boundaries by an extra pixel instead. This revealed that we were drawing the filtered result with NEAREST filtering (!), causing some nasty jaggies when rotated. This was fixed by manually setting the min and mag filters to LINEAR. BUG=607831 ========== to ========== cc: fix pixel-moving filter effects on a rotated layer. When a pixel-moving filter (e.g. blur, drop-shadow) is applied to a transformed layer, we were leaving the edge equations used for edge-AA at the original primitive's position, causing them to truncate the effect (e.g., blur margins). This fix detects that AA is required on a filter that changes the bounds, disables edge-AA and bloats the boundaries by an extra pixel instead. This revealed that we were drawing the filtered result with NEAREST filtering (!), causing some nasty jaggies when rotated. This was fixed by manually setting the min and mag filters to LINEAR. BUG=607831 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel ==========
The CQ bit was checked by senorblanco@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1942863002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1942863002/20001
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: win_chromium_rel_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_...)
The CQ bit was checked by senorblanco@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1942863002/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1942863002/80001
Description was changed from ========== cc: fix pixel-moving filter effects on a rotated layer. When a pixel-moving filter (e.g. blur, drop-shadow) is applied to a transformed layer, we were leaving the edge equations used for edge-AA at the original primitive's position, causing them to truncate the effect (e.g., blur margins). This fix detects that AA is required on a filter that changes the bounds, disables edge-AA and bloats the boundaries by an extra pixel instead. This revealed that we were drawing the filtered result with NEAREST filtering (!), causing some nasty jaggies when rotated. This was fixed by manually setting the min and mag filters to LINEAR. BUG=607831 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel ========== to ========== cc: fix pixel-moving filter effects on a rotated layer. When a pixel-moving filter (e.g. blur, drop-shadow) is applied to a transformed layer, we were leaving the edge equations used for edge-AA at the original primitive's position, causing them to truncate the effect (e.g., blur margins). This fix detects that AA is required on a filter that changes the bounds, disables edge-AA and bloats the boundaries by an extra pixel instead. This revealed that we were drawing the filtered result with NEAREST filtering (!), causing some nasty jaggies when rotated. This was fixed by manually setting the min and mag filters to LINEAR. BUG=607831 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel ==========
senorblanco@chromium.org changed reviewers: + enne@chromium.org
Description was changed from ========== cc: fix pixel-moving filter effects on a rotated layer. When a pixel-moving filter (e.g. blur, drop-shadow) is applied to a transformed layer, we were leaving the edge equations used for edge-AA at the original primitive's position, causing them to truncate the effect (e.g., blur margins). This fix detects that AA is required on a filter that changes the bounds, disables edge-AA and bloats the boundaries by an extra pixel instead. This revealed that we were drawing the filtered result with NEAREST filtering (!), causing some nasty jaggies when rotated. This was fixed by manually setting the min and mag filters to LINEAR. BUG=607831 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel ========== to ========== cc: fix pixel-moving filter effects on a rotated layer. When a pixel-moving filter (e.g. blur, drop-shadow) is applied to a transformed layer, we were leaving the edge equations used for edge-AA at the original primitive's position, causing them to truncate the effect (e.g., blur margins). This fix detects that AA is required on a filter that changes the bounds, disables edge-AA and bloats the boundaries by an extra pixel instead. This revealed that we were drawing the filtered result with NEAREST filtering (!), causing some nasty jaggies when rotated. This was fixed by manually setting the min and mag filters to LINEAR. It also revealed that the software renderer was not applying filter outsets. I've fixed this in a similar way to https://codereview.chromium.org/1517693002. BUG=607831 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel ==========
enne@: PTAL Note that the changes to the software renderer could be broken out into a separate CL if you'd like (along with the SW version of the rotated drop shadow pixel test, which breaks without it).
Description was changed from ========== cc: fix pixel-moving filter effects on a rotated layer. When a pixel-moving filter (e.g. blur, drop-shadow) is applied to a transformed layer, we were leaving the edge equations used for edge-AA at the original primitive's position, causing them to truncate the effect (e.g., blur margins). This fix detects that AA is required on a filter that changes the bounds, disables edge-AA and bloats the boundaries by an extra pixel instead. This revealed that we were drawing the filtered result with NEAREST filtering (!), causing some nasty jaggies when rotated. This was fixed by manually setting the min and mag filters to LINEAR. It also revealed that the software renderer was not applying filter outsets. I've fixed this in a similar way to https://codereview.chromium.org/1517693002. BUG=607831 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel ========== to ========== cc: fix pixel-moving filter effects on a rotated layer. When a pixel-moving filter (e.g. blur, drop-shadow) is applied to a transformed layer, we were leaving the edge equations used for edge-AA at the original primitive's position, causing them to truncate the effect (e.g., blur margins). This fix detects that AA is required on a filter that changes the bounds, disables edge-AA and bloats the boundaries by an extra pixel instead. This revealed that we were drawing the filtered result with NEAREST filtering (!), causing some nasty jaggies when rotated. This was fixed by manually setting the min and mag filters to LINEAR. It also revealed that the software renderer was not applying filter outsets. The GL renderer was previously fixed here: https://codereview.chromium.org/1517693002. Similar changes were made to the software renderer here. BUG=607831 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel ==========
Description was changed from ========== cc: fix pixel-moving filter effects on a rotated layer. When a pixel-moving filter (e.g. blur, drop-shadow) is applied to a transformed layer, we were leaving the edge equations used for edge-AA at the original primitive's position, causing them to truncate the effect (e.g., blur margins). This fix detects that AA is required on a filter that changes the bounds, disables edge-AA and bloats the boundaries by an extra pixel instead. This revealed that we were drawing the filtered result with NEAREST filtering (!), causing some nasty jaggies when rotated. This was fixed by manually setting the min and mag filters to LINEAR. It also revealed that the software renderer was not applying filter outsets. The GL renderer was previously fixed here: https://codereview.chromium.org/1517693002. Similar changes were made to the software renderer here. BUG=607831 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel ========== to ========== cc: fix pixel-moving filter effects on a rotated layer. When a pixel-moving filter (e.g. blur, drop-shadow) is applied to a transformed layer, we were leaving the edge equations used for edge-AA at the original primitive's position, causing them to truncate the effect (e.g., blur margins). This fix detects that AA is required on a filter that changes the bounds, disables edge-AA and bloats the boundaries by an extra pixel instead. This revealed that we were drawing the filtered result with NEAREST filtering (!), causing some nasty jaggies when rotated. This was fixed by manually setting the min and mag filters to LINEAR. It also revealed that the software renderer was not applying filter outsets. The GL renderer was previously fixed here: https://codereview.chromium.org/1517693002. This CL makes similar changes to the software renderer. BUG=607831 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel ==========
Description was changed from ========== cc: fix pixel-moving filter effects on a rotated layer. When a pixel-moving filter (e.g. blur, drop-shadow) is applied to a transformed layer, we were leaving the edge equations used for edge-AA at the original primitive's position, causing them to truncate the effect (e.g., blur margins). This fix detects that AA is required on a filter that changes the bounds, disables edge-AA and bloats the boundaries by an extra pixel instead. This revealed that we were drawing the filtered result with NEAREST filtering (!), causing some nasty jaggies when rotated. This was fixed by manually setting the min and mag filters to LINEAR. It also revealed that the software renderer was not applying filter outsets. The GL renderer was previously fixed here: https://codereview.chromium.org/1517693002. This CL makes similar changes to the software renderer. BUG=607831 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel ========== to ========== cc: fix pixel-moving filter effects on a rotated layer. When a pixel-moving filter (e.g. blur, drop-shadow) is applied to a transformed layer, we were leaving the edge equations used for edge-AA at the original primitive's position, causing them to truncate the effect (e.g., blur margins). This fix detects that AA is required on a filter that changes the bounds, disables edge-AA and bloats the boundaries by an extra pixel instead. This revealed that we were drawing the filtered result with NEAREST filtering (!), causing some nasty jaggies when rotated. This was fixed by manually setting the min and mag filters to LINEAR. It also revealed that the software renderer was not applying filter outsets. The GL renderer was previously fixed here: https://codereview.chromium.org/1517693002. This CL makes similar changes to the software renderer. BUG=607831 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel ==========
Description was changed from ========== cc: fix pixel-moving filter effects on a rotated layer. When a pixel-moving filter (e.g. blur, drop-shadow) is applied to a transformed layer, we were leaving the edge equations used for edge-AA at the original primitive's position, causing them to truncate the effect (e.g., blur margins). This fix detects that AA is required on a filter that changes the bounds, disables edge-AA and bloats the boundaries by an extra pixel instead. This revealed that we were drawing the filtered result with NEAREST filtering (!), causing some nasty jaggies when rotated. This was fixed by manually setting the min and mag filters to LINEAR. It also revealed that the software renderer was not applying filter outsets. The GL renderer was previously fixed here: https://codereview.chromium.org/1517693002. This CL makes similar changes to the software renderer. BUG=607831 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel ========== to ========== cc: fix pixel-moving filter effects on a rotated layer. When a pixel-moving filter (e.g. blur, drop-shadow) is applied to a transformed layer, we were leaving the edge equations used for edge-AA at the original primitive's position, causing them to truncate the effect (e.g., blur margins). This fix detects that AA is required on a filter that changes the bounds, disables edge-AA and bloats the boundaries by an extra pixel instead. This revealed that we were drawing the filtered result with NEAREST filtering (!), causing some nasty jaggies when rotated. This was fixed by manually setting the min and mag filters to LINEAR. It also revealed that the software renderer was not applying filter outsets. The GL renderer was previously fixed here: https://codereview.chromium.org/1517693002. This CL makes similar changes to the software renderer. BUG=607831 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel ==========
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: win_chromium_rel_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_...)
The CQ bit was checked by senorblanco@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1942863002/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1942863002/100001
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: win_chromium_rel_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_...)
The CQ bit was checked by senorblanco@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1942863002/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1942863002/120001
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
enne: friendly ping :)
lgtm, thanks for all these fixes! https://codereview.chromium.org/1942863002/diff/120001/cc/output/gl_renderer.cc File cc/output/gl_renderer.cc (right): https://codereview.chromium.org/1942863002/diff/120001/cc/output/gl_renderer.... cc/output/gl_renderer.cc:1014: // computed for AA will be wrong. So disable antialiasing, and use It might be worth saying the correct aa edges *could* be computed, and this just is a simplification?
https://codereview.chromium.org/1942863002/diff/120001/cc/output/gl_renderer.cc File cc/output/gl_renderer.cc (right): https://codereview.chromium.org/1942863002/diff/120001/cc/output/gl_renderer.... cc/output/gl_renderer.cc:1014: // computed for AA will be wrong. So disable antialiasing, and use On 2016/05/03 18:25:39, enne wrote: > It might be worth saying the correct aa edges *could* be computed, and this just > is a simplification? Done.
The CQ bit was checked by senorblanco@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from enne@chromium.org Link to the patchset: https://codereview.chromium.org/1942863002/#ps140001 (title: "Fix comment")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1942863002/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1942863002/140001
Message was sent while issue was closed.
Description was changed from ========== cc: fix pixel-moving filter effects on a rotated layer. When a pixel-moving filter (e.g. blur, drop-shadow) is applied to a transformed layer, we were leaving the edge equations used for edge-AA at the original primitive's position, causing them to truncate the effect (e.g., blur margins). This fix detects that AA is required on a filter that changes the bounds, disables edge-AA and bloats the boundaries by an extra pixel instead. This revealed that we were drawing the filtered result with NEAREST filtering (!), causing some nasty jaggies when rotated. This was fixed by manually setting the min and mag filters to LINEAR. It also revealed that the software renderer was not applying filter outsets. The GL renderer was previously fixed here: https://codereview.chromium.org/1517693002. This CL makes similar changes to the software renderer. BUG=607831 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel ========== to ========== cc: fix pixel-moving filter effects on a rotated layer. When a pixel-moving filter (e.g. blur, drop-shadow) is applied to a transformed layer, we were leaving the edge equations used for edge-AA at the original primitive's position, causing them to truncate the effect (e.g., blur margins). This fix detects that AA is required on a filter that changes the bounds, disables edge-AA and bloats the boundaries by an extra pixel instead. This revealed that we were drawing the filtered result with NEAREST filtering (!), causing some nasty jaggies when rotated. This was fixed by manually setting the min and mag filters to LINEAR. It also revealed that the software renderer was not applying filter outsets. The GL renderer was previously fixed here: https://codereview.chromium.org/1517693002. This CL makes similar changes to the software renderer. BUG=607831 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel ==========
Message was sent while issue was closed.
Committed patchset #8 (id:140001)
Message was sent while issue was closed.
Description was changed from ========== cc: fix pixel-moving filter effects on a rotated layer. When a pixel-moving filter (e.g. blur, drop-shadow) is applied to a transformed layer, we were leaving the edge equations used for edge-AA at the original primitive's position, causing them to truncate the effect (e.g., blur margins). This fix detects that AA is required on a filter that changes the bounds, disables edge-AA and bloats the boundaries by an extra pixel instead. This revealed that we were drawing the filtered result with NEAREST filtering (!), causing some nasty jaggies when rotated. This was fixed by manually setting the min and mag filters to LINEAR. It also revealed that the software renderer was not applying filter outsets. The GL renderer was previously fixed here: https://codereview.chromium.org/1517693002. This CL makes similar changes to the software renderer. BUG=607831 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel ========== to ========== cc: fix pixel-moving filter effects on a rotated layer. When a pixel-moving filter (e.g. blur, drop-shadow) is applied to a transformed layer, we were leaving the edge equations used for edge-AA at the original primitive's position, causing them to truncate the effect (e.g., blur margins). This fix detects that AA is required on a filter that changes the bounds, disables edge-AA and bloats the boundaries by an extra pixel instead. This revealed that we were drawing the filtered result with NEAREST filtering (!), causing some nasty jaggies when rotated. This was fixed by manually setting the min and mag filters to LINEAR. It also revealed that the software renderer was not applying filter outsets. The GL renderer was previously fixed here: https://codereview.chromium.org/1517693002. This CL makes similar changes to the software renderer. BUG=607831 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Committed: https://crrev.com/c2061a305a361ebda94b0e46e80a69846b875cc5 Cr-Commit-Position: refs/heads/master@{#391332} ==========
Message was sent while issue was closed.
Patchset 8 (id:??) landed as https://crrev.com/c2061a305a361ebda94b0e46e80a69846b875cc5 Cr-Commit-Position: refs/heads/master@{#391332} |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
