|
|
DescriptionDefine SK_PICTURE_CLONE_NOOP.
This makes SkPicture::clone() a cheap ref, meaning impl-side painting will render
tiles concurrently from the same source SkPicture rather than from clones.
After testing for a few months in Skia, we believe SkPicture is thread safe enough
to try this out on the Chrome bots. Please revert this at the slightest sign of
crash, flaky drawing, etc.
CQ_EXTRA_TRYBOTS=tryserver.chromium.linux:linux_layout_rel
BUG=
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=288096
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=288233
Patch Set 1 #
Messages
Total messages: 20 (0 generated)
The CQ bit was checked by mtklein@chromium.org
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/mtklein@chromium.org/445373003/1
The CQ bit was unchecked by commit-bot@chromium.org
No LGTM from a valid reviewer yet. Only full committers are accepted. Even if an LGTM may have been provided, it was from a non-committer or a provisional committer, _not_ a full super star committer. See http://www.chromium.org/getting-involved/become-a-committer Note that this has nothing to do with OWNERS files.
lgtm
The CQ bit was checked by mtklein@google.com
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/mtklein@chromium.org/445373003/1
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: mac_gpu_retina_triggered_tests on tryserver.chromium.gpu (http://build.chromium.org/p/tryserver.chromium.gpu/builders/mac_gpu_retina_tr...) linux_chromium_gn_rel on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...) linux_clang_tsan on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_clang_tsa...)
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_clang_tsan on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_clang_tsa...)
Looks like linux_clang_tsan is failing roughly the same amount as at head. Taking that off the CQ list (I put it on there artificially anyway).
The CQ bit was checked by mtklein@google.com
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/mtklein@chromium.org/445373003/1
Message was sent while issue was closed.
Change committed as 288096
Message was sent while issue was closed.
A revert of this CL has been created in https://codereview.chromium.org/455463002/ by abodenha@chromium.org. The reason for reverting is: This looks like the most likely culprit for the crash in http://build.chromium.org/p/chromium.linux/builders/Linux%20Tests%20%28dbg%29.... Partial stack dump: [16752:16752:0807/140640:WARNING:password_store_factory.cc(215)] Using basic (unencrypted) store for password storage. See http://code.google.com/p/chromium/wiki/LinuxPasswordStorage for more information about password storage options. [16783:16783:0807/140640:ERROR:sandbox_linux.cc(304)] InitializeSandbox() called with multiple threads in process gpu-process [16783:16783:0807/140640:WARNING:x11_util.cc(1408)] X error received: serial 61, error_code 8 (BadMatch (invalid parameter attributes)), request_code 72, minor_code 0 (X_PutImage) ASSERTION FAILED: info.fAlphaType == m_imageInfo.fAlphaType ../../third_party/WebKit/Source/platform/graphics/DecodingImageGenerator.cpp(78) : virtual bool blink::DecodingImageGenerator::onGetPixels(const SkImageInfo &, void *, size_t, SkPMColor *, int *) 1 0x7f11fbdbcdd8 2 0x7f11fb0ea18c SkImageGenerator::getPixels(SkImageInfo const&, void*, unsigned long, unsigned int*, int*) 3 0x7f11fb0bc349 4 0x7f11fb13e30b SkPixelRef::lockPixels(SkPixelRef::LockRec*) 5 0x7f11fb13e479 SkPixelRef::lockPixels() 6 0x7f11fb04a6ea SkBitmap::lockPixels() const 7 0x7f11fb05032d 8 0x7f11fb0c35ca 9 0x7f11fb051f51 SkBitmapDevice::drawBitmap(SkDraw const&, SkBitmap const&, SkMatrix const&, SkPaint const&) 10 0x7f11fb05223b SkBitmapDevice::drawBitmapRect(SkDraw const&, SkBitmap const&, SkRect const*, SkRect const&, SkPaint const&, SkCanvas::DrawBitmapRectFlags) 11 0x7f11fb0a3d4a SkCanvas::internalDrawBitmapRect(SkBitmap const&, SkRect const*, SkRect const&, SkPaint const*, SkCanvas::DrawBitmapRectFlags) 12 0x7f11fb0a3de1 SkCanvas::drawBitmapRectToRect(SkBitmap const&, SkRect const*, SkRect const&, SkPaint const*, SkCanvas::DrawBitmapRectFlags) 13 0x7f11fb12c296 14 0x7f11fb12b9e1 15 0x7f11fb12241f SkPicture::draw(SkCanvas*, SkDrawPictureCallback*) const 16 0x7f11fc67a2a7 cc::Picture::Raster(SkCanvas*, SkDrawPictureCallback*, cc::Region const&, float) 17 0x7f11fc6adc59 cc::PicturePileImpl::RasterCommon(SkCanvas*, SkDrawPictureCallback*, gfx::Rect const&, float, cc::RenderingStatsInstrumentation*, bool) 18 0x7f11fc6ae45e cc::PicturePileImpl::RasterToBitmap(SkCanvas*, gfx::Rect const&, float, cc::RenderingStatsInstrumentation*).
Message was sent while issue was closed.
On 2014/08/07 21:25:11, Albert Bodenhamer wrote: > A revert of this CL has been created in > https://codereview.chromium.org/455463002/ by mailto:abodenha@chromium.org. > > The reason for reverting is: This looks like the most likely culprit for the > crash in > http://build.chromium.org/p/chromium.linux/builders/Linux%20Tests%20%28dbg%29.... > > Partial stack dump: > [16752:16752:0807/140640:WARNING:password_store_factory.cc(215)] Using basic > (unencrypted) store for password storage. See > http://code.google.com/p/chromium/wiki/LinuxPasswordStorage for more information > about password storage options. > [16783:16783:0807/140640:ERROR:sandbox_linux.cc(304)] InitializeSandbox() > called with multiple threads in process gpu-process > [16783:16783:0807/140640:WARNING:x11_util.cc(1408)] X error received: serial > 61, error_code 8 (BadMatch (invalid parameter attributes)), request_code 72, > minor_code 0 (X_PutImage) > ASSERTION FAILED: info.fAlphaType == m_imageInfo.fAlphaType > ../../third_party/WebKit/Source/platform/graphics/DecodingImageGenerator.cpp(78) > : virtual bool blink::DecodingImageGenerator::onGetPixels(const SkImageInfo &, > void *, size_t, SkPMColor *, int *) > 1 0x7f11fbdbcdd8 > 2 0x7f11fb0ea18c SkImageGenerator::getPixels(SkImageInfo const&, void*, > unsigned long, unsigned int*, int*) > 3 0x7f11fb0bc349 > 4 0x7f11fb13e30b SkPixelRef::lockPixels(SkPixelRef::LockRec*) > 5 0x7f11fb13e479 SkPixelRef::lockPixels() > 6 0x7f11fb04a6ea SkBitmap::lockPixels() const > 7 0x7f11fb05032d > 8 0x7f11fb0c35ca > 9 0x7f11fb051f51 SkBitmapDevice::drawBitmap(SkDraw const&, SkBitmap const&, > SkMatrix const&, SkPaint const&) > 10 0x7f11fb05223b SkBitmapDevice::drawBitmapRect(SkDraw const&, SkBitmap > const&, SkRect const*, SkRect const&, SkPaint const&, > SkCanvas::DrawBitmapRectFlags) > 11 0x7f11fb0a3d4a SkCanvas::internalDrawBitmapRect(SkBitmap const&, SkRect > const*, SkRect const&, SkPaint const*, SkCanvas::DrawBitmapRectFlags) > 12 0x7f11fb0a3de1 SkCanvas::drawBitmapRectToRect(SkBitmap const&, SkRect > const*, SkRect const&, SkPaint const*, SkCanvas::DrawBitmapRectFlags) > 13 0x7f11fb12c296 > 14 0x7f11fb12b9e1 > 15 0x7f11fb12241f SkPicture::draw(SkCanvas*, SkDrawPictureCallback*) const > 16 0x7f11fc67a2a7 cc::Picture::Raster(SkCanvas*, SkDrawPictureCallback*, > cc::Region const&, float) > 17 0x7f11fc6adc59 cc::PicturePileImpl::RasterCommon(SkCanvas*, > SkDrawPictureCallback*, gfx::Rect const&, float, > cc::RenderingStatsInstrumentation*, bool) > 18 0x7f11fc6ae45e cc::PicturePileImpl::RasterToBitmap(SkCanvas*, gfx::Rect > const&, float, cc::RenderingStatsInstrumentation*). Agreed. I'll make sure this is passing before trying to land again. Please let me know if reverting doesn't fix the test?
The CQ bit was checked by mtklein@google.com
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/mtklein@chromium.org/445373003/1
Message was sent while issue was closed.
Change committed as 288233 |