New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 882457 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Sep 12
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug



Sign in to add a comment

Pixel diff using OOP-R w/ and w/o SkDDL

Project Member Reported by backer@chromium.org, Sep 10

Issue description

This may be because I had to comment out a failing SkASSERT to may SkDDL work.

I built chrome from tip of tree for the repro.

This is some fallout from my cluster telemetry pixel diff run (https://ctpixeldiff.skia.org/load?runID=backer-20180907154055)

Here is how to repro locally.

- patch in Skia change
- build desktop linux version of chrome
- copy over data files used by cluster telemetry

$ mkdir /tmp/Dummy1k
$ gsutil.py -m cp -R gs://cluster-telemetry/swarming/webpage_archives/Dummy1k /tmp/


- make some temporary output directories

$ mkdir /tmp/oopr
$ mkdir /tmp/oopr-skddl

- use cluster telemetry scripts to run chrome and grab screenshots (run from chromium/src directory)

$ export POP=858; export URL=www.google.iq; vpython tools/perf/run_benchmark screenshot_ct --also-run-disabled-tests --png-outdir=/tmp/oopr-skddl --extra-browser-args='--enable-logging=stderr --enable-oop-rasterization --enable-gpu-rasterization --enable-oop-rasterization-ddl' --user-agent=desktop --urls-list=http://${URL} --archive-data-file=/tmp/Dummy1k/${POP}/${POP}.json --browser=exact --browser-executable=/usr/local/google/home/backer/chromium/src/out/linux_rel/chrome --device=desktop --dc-detect --dc-extra-screenshots=5;  vpython tools/perf/run_benchmark screenshot_ct --also-run-disabled-tests --png-outdir=/tmp/oopr --extra-browser-args='--enable-logging=stderr --enable-oop-rasterization --enable-gpu-rasterization' --user-agent=desktop --urls-list=http://${URL} --archive-data-file=/tmp/Dummy1k/${POP}/${POP}.json --browser=exact --browser-executable=/usr/local/google/home/backer/chromium/src/out/linux_rel/chrome --device=desktop --dc-detect --dc-extra-screenshots=5

- examine the diffs

$ compare /tmp/oopr/http___www_google_iq.png /tmp/oopr-skddl/http___www_google_iq.png -highlight-color blue /tmp/diff-compose-default.png; eog /tmp/diff-compose-default.png

 
diff-compose-default.png
16.4 KB View Download
I haven't been able to reproduce this locally using the attached skp capture.

ddl-path-bug.skp
55.3 KB Download
I removed my Skia hack (https://skia-review.googlesource.com/152480) and I can confirm that the SkASSERT is hit on the https://google.ca live URL.

My chrome config is a release build (is_debug=false) with DCHECKS enabled (dcheck_always_on=true). This makes the failing SkASSERT cause a crash.

When I apply the patch to disable the SkASSERT, the 3 x 3 grid is missing. So something about drawing the 3x3 grid is triggering the assert and causing the drawing to fail.

My chrome build has git hash d1034e1e6f204eb0467974a30cc0cdef1bf36c2b as head.

Simpler repro is to build chrome and use these flags:

$ out/linux_rel/chrome --enable-logging=stderr --user-data-dir=$(mktemp -d) --enable-oop-rasterization --enable-gpu-rasterization --enable-oop-rasterization-ddl https://www.google.ca
Project Member

Comment 4 by bugdroid1@chromium.org, Sep 12

The following revision refers to this bug:
  https://skia.googlesource.com/skia/+/bfd45adb2c07a01989fea4886ba9fc7e0fb8d3bc

commit bfd45adb2c07a01989fea4886ba9fc7e0fb8d3bc
Author: Robert Phillips <robertphillips@google.com>
Date: Wed Sep 12 13:05:27 2018

Loosen up assert in SkImage_Gpu::asTextureProxyRef

In the DDL world, the actual constraint is that the contexts have
the same ID. The old version was catching the case where an already
instantiated SkImage_Gpu was being drawn into a DDL.

Bug:  882457 
Change-Id: I09ac0d5e176e8de5f5089d11d7495766c92f2450
Reviewed-on: https://skia-review.googlesource.com/153665
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

[modify] https://crrev.com/bfd45adb2c07a01989fea4886ba9fc7e0fb8d3bc/src/image/SkImage_Gpu.cpp

Status: Fixed (was: Available)
Project Member

Comment 6 by bugdroid1@chromium.org, Sep 12

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

commit 0c37b9823d1a9ee4f9ba0b9ebc64f98404034cb9
Author: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Date: Wed Sep 12 15:43:56 2018

Roll src/third_party/skia 44215505623b..b2acf0a93927 (6 commits)

https://skia.googlesource.com/skia.git/+log/44215505623b..b2acf0a93927


git log 44215505623b..b2acf0a93927 --date=short --no-merges --format='%ad %ae %s'
2018-09-12 egdaniel@google.com Add unit test to test basic importing and drawing of AHardwareBuffers.
2018-09-12 reed@google.com change language for pathkit
2018-09-12 brianosman@google.com Revert "Revert "Add Adreno workaround for MSAA + stencil + ReadPixels""
2018-09-12 pcc@google.com SkRemoteGlyphCache: Make serialization code bitness agnostic.
2018-09-12 robertphillips@google.com Loosen up assert in SkImage_Gpu::asTextureProxyRef
2018-09-12 brianosman@google.com Revert "Add Adreno workaround for MSAA + stencil + ReadPixels"


Created with:
  gclient setdep -r src/third_party/skia@b2acf0a93927

The AutoRoll server is located here: https://autoroll.skia.org/r/skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel

BUG=chromium:865796,chromium:880617,chromium:879123, chromium:882457 
TBR=caryclark@chromium.org

Change-Id: I14fb658d96b00737088c72237eafc0c4468417cf
Reviewed-on: https://chromium-review.googlesource.com/1221690
Reviewed-by: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#590695}
[modify] https://crrev.com/0c37b9823d1a9ee4f9ba0b9ebc64f98404034cb9/DEPS

Sign in to add a comment