New issue
Advanced search Search tips

Issue 806014 link

Starred by 1 user

Issue metadata

Status: Duplicate
Merged: issue 805746
Owner:
Closed: Feb 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug

Blocking:
issue 757605



Sign in to add a comment

Google docs sign-in looks corrupted on Android with oop raster

Project Member Reported by enne@chromium.org, Jan 25 2018

Issue description

It does not appear to do this on Linux, however Linux is using web fonts for the sign-in page so no fonts appear at all.
 
Screenshot_20180124-201257.png
62.8 KB View Download
Components: Internals>Compositing>OOP-Raster
Owner: khushals...@chromium.org
Status: Assigned (was: Available)
Mergedinto: 805746
Status: Duplicate (was: Assigned)
Project Member

Comment 3 by bugdroid1@chromium.org, Feb 6 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/51c8e384740f05eea6b62b5a1fe797b4091f7c7d

commit 51c8e384740f05eea6b62b5a1fe797b4091f7c7d
Author: Adrienne Walker <enne@chromium.org>
Date: Tue Feb 06 20:30:33 2018

oop: Clear textures to prevent visual garbage

Textures in oop raster are currently cleared only when they are new.
However, when textures are reused (both for partial raster and for
recycling) they need to clear what's underneath them.

This also fixes several bugs in RasterSource clearing.  In particular,
clipDeviceRegion (possibly only for gpu?) does not reset the clip,
only adds to it.  It also unions together all the rects in the
region.  This leads to increased clipping, and no clearing of texels
outside of the raster full rect.

This passes more parameters to RasterSource and PaintOpBuffer so that
the following clearing can be done:
(1) if not opaque and not partial raster, clear everything to transparent.
(2) if not opaque and partial raster, clear inside clip to transparent.
(3) if opaque and playback rect intersects with one texel inside the
content size for the layer, then draw 2xheight and widthx2 pixel rectangles
to clear the last pixels.

Also add a number of unit tests to verify that minimal clearing is done
that would have caught the RasterSource changes.

This also removes debug clearing code in RasterSource which is old and
is not as useful as it once was.

Bug:  805746 , 806014 
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: I5f68ef63ee8c2831906890e3e2239ac1e3db430e
Reviewed-on: https://chromium-review.googlesource.com/888078
Commit-Queue: enne <enne@chromium.org>
Reviewed-by: Khushal <khushalsagar@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#534782}
[modify] https://crrev.com/51c8e384740f05eea6b62b5a1fe797b4091f7c7d/cc/benchmarks/rasterize_and_record_benchmark_impl.cc
[modify] https://crrev.com/51c8e384740f05eea6b62b5a1fe797b4091f7c7d/cc/debug/debug_colors.cc
[modify] https://crrev.com/51c8e384740f05eea6b62b5a1fe797b4091f7c7d/cc/layers/recording_source.cc
[modify] https://crrev.com/51c8e384740f05eea6b62b5a1fe797b4091f7c7d/cc/paint/oop_pixeltest.cc
[modify] https://crrev.com/51c8e384740f05eea6b62b5a1fe797b4091f7c7d/cc/paint/paint_op_buffer_serializer.cc
[modify] https://crrev.com/51c8e384740f05eea6b62b5a1fe797b4091f7c7d/cc/paint/paint_op_buffer_serializer.h
[modify] https://crrev.com/51c8e384740f05eea6b62b5a1fe797b4091f7c7d/cc/paint/paint_op_buffer_unittest.cc
[modify] https://crrev.com/51c8e384740f05eea6b62b5a1fe797b4091f7c7d/cc/paint/paint_op_writer.cc
[modify] https://crrev.com/51c8e384740f05eea6b62b5a1fe797b4091f7c7d/cc/paint/paint_op_writer.h
[modify] https://crrev.com/51c8e384740f05eea6b62b5a1fe797b4091f7c7d/cc/raster/gpu_raster_buffer_provider.cc
[modify] https://crrev.com/51c8e384740f05eea6b62b5a1fe797b4091f7c7d/cc/raster/raster_buffer_provider.cc
[modify] https://crrev.com/51c8e384740f05eea6b62b5a1fe797b4091f7c7d/cc/raster/raster_source.cc
[modify] https://crrev.com/51c8e384740f05eea6b62b5a1fe797b4091f7c7d/cc/raster/raster_source.h
[modify] https://crrev.com/51c8e384740f05eea6b62b5a1fe797b4091f7c7d/cc/raster/raster_source_unittest.cc
[modify] https://crrev.com/51c8e384740f05eea6b62b5a1fe797b4091f7c7d/cc/test/fake_raster_source.cc
[modify] https://crrev.com/51c8e384740f05eea6b62b5a1fe797b4091f7c7d/cc/test/fake_raster_source.h
[modify] https://crrev.com/51c8e384740f05eea6b62b5a1fe797b4091f7c7d/gpu/command_buffer/client/raster_implementation_gles.cc
[modify] https://crrev.com/51c8e384740f05eea6b62b5a1fe797b4091f7c7d/gpu/command_buffer/client/raster_implementation_gles.h
[modify] https://crrev.com/51c8e384740f05eea6b62b5a1fe797b4091f7c7d/gpu/command_buffer/client/raster_implementation_gles_unittest.cc
[modify] https://crrev.com/51c8e384740f05eea6b62b5a1fe797b4091f7c7d/gpu/command_buffer/client/raster_interface.h

Sign in to add a comment