Refactor Display list canvas to use prefered raster bounds |
|||||
Issue descriptionThe following change adds the notion of a preferred raster scale to cc layers: https://codereview.chromium.org/2410513002/ This new mechanism should be used instead of the existing saveLayer/SkPictureImageFilter approach This means that all canvases with a resolution that does not line-up with the display will have to be promoted to their own layers. This approach will pave the way to making it possible for color management to work with display list 2D canvas.
,
Oct 19 2016
No, it does not work that way. Skia only has colorspace tagging for input and outputs, SkPictures are neither. Doing this will also fix other problems, not just color management. Among other things, we will be able to start using deferred image decoding for images drawn into a canvas.
,
Oct 20 2016
Update: we should use preferred raster *bounds* rather than scale, to avoid loss of precision when multiplying up by a scale to the preferred scale, and also to account for scales that do not preserve aspect ratio.
,
Oct 20 2016
,
Oct 20 2016
Sorry, updated the wrong bug there. But in any case, it should be bounds not scale.
,
Oct 21 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a1caccf274a8013424414b3b306c3c7a4f7d4d42 commit a1caccf274a8013424414b3b306c3c7a4f7d4d42 Author: chrishtr <chrishtr@chromium.org> Date: Fri Oct 21 03:48:28 2016 Plumb preferred raster bounds rather than scale This allows us to specify exactly the preferred raster size of the intrinsic object, such a images, without rounding error due to floating-point, conflation of width/height due to not preserving aspect ratio, etc. BUG= 657431 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel Review-Url: https://chromiumcodereview.appspot.com/2441853002 Cr-Commit-Position: refs/heads/master@{#426719} [modify] https://crrev.com/a1caccf274a8013424414b3b306c3c7a4f7d4d42/cc/blink/web_layer_impl.cc [modify] https://crrev.com/a1caccf274a8013424414b3b306c3c7a4f7d4d42/cc/blink/web_layer_impl.h [modify] https://crrev.com/a1caccf274a8013424414b3b306c3c7a4f7d4d42/cc/layers/layer.cc [modify] https://crrev.com/a1caccf274a8013424414b3b306c3c7a4f7d4d42/cc/layers/layer.h [modify] https://crrev.com/a1caccf274a8013424414b3b306c3c7a4f7d4d42/cc/layers/layer_impl.cc [modify] https://crrev.com/a1caccf274a8013424414b3b306c3c7a4f7d4d42/cc/layers/layer_impl.h [rename] https://crrev.com/a1caccf274a8013424414b3b306c3c7a4f7d4d42/third_party/WebKit/LayoutTests/compositing/scaling/preferred-raster-bounds-expected.txt [rename] https://crrev.com/a1caccf274a8013424414b3b306c3c7a4f7d4d42/third_party/WebKit/LayoutTests/compositing/scaling/preferred-raster-bounds.html [modify] https://crrev.com/a1caccf274a8013424414b3b306c3c7a4f7d4d42/third_party/WebKit/Source/core/paint/BoxPainter.cpp [modify] https://crrev.com/a1caccf274a8013424414b3b306c3c7a4f7d4d42/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in [modify] https://crrev.com/a1caccf274a8013424414b3b306c3c7a4f7d4d42/third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp [modify] https://crrev.com/a1caccf274a8013424414b3b306c3c7a4f7d4d42/third_party/WebKit/Source/platform/graphics/GraphicsLayer.h [modify] https://crrev.com/a1caccf274a8013424414b3b306c3c7a4f7d4d42/third_party/WebKit/public/platform/WebLayer.h
,
Jun 19 2018
Obsolete. |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by chrishtr@chromium.org
, Oct 19 2016