[go: nahoru, domu]

oop: Fix flashing by moving preamble to gles2_implemntation

The https://chromium-review.googlesource.com/726979 patch caused some
bugs with --enable-oop-rasterization was on.  In particular, by
adding saves and restores, it wrapped all the "preamble" logic for the
first RasterCHROMIUM with the setup logic in a save/restore.  This
caused any partial raster tile to be incorrect and caused flashing.

This patch moves the preamble logic into the RasterCHROMIUM call itself,
addressing a TODO in SerializeHelper.  This is needed for the future
anyway so that the underlying tracking SkCanvas can have the correct
state for image decode querying.

By moving the preamble logic, saves/restores can be added to real
DrawRecords and not the fake preamble DrawRecord and the flashing bug
is also fixed.

Bug: 758350
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I64b3ee698e7712e55ed0170d1d77b62d8a87b72a
Reviewed-on: https://chromium-review.googlesource.com/745523
Commit-Queue: enne <enne@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: vmpstr <vmpstr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#512969}
11 files changed