Fix nearest-neighbor scaling and renderpass bypass
There is a bug where SkiaRenderer doesn't handle the nearest_neighbor flag set on quads correctly. If the quad is in a render pass that is bypassed then SkiaRenderer will draw the quad directly using a higher filter quality than nearest-neighbor. There can actually be two different scaling operations, one when the quad is copied into the render pass with nearest-neighbour scaling and the second when the render pass is copied into the framebuffer (or other another render pass) most likely with bilinear interpolation. If there are two scaling operations at different qualities, it's not going to be possible to bypass the render pass without changing the resulting pixels. To simplify things, don't bypass a render pass where the only quad specifies nearest-neighbour scaling. Bug: 1155338 Change-Id: If476bfb2ce027772aaa6a153ba108d341c354423 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2577706Reviewed-by:Michael Ludwig <michaelludwig@google.com> Commit-Queue: kylechar <kylechar@chromium.org> Cr-Commit-Position: refs/heads/master@{#835190}
Showing
Please register or sign in to comment