Commit Graph

44221 Commits

Author SHA1 Message Date
Herb Derby
81578856e9 Check RemoteStrike pointer is still valid to send
Check to make sure that the RemoteStrike pointer from
RemoteStrikesToSend is still in the RemoteGlyphStateMap
in debug mode.

Change-Id: Id992a5190a161499792247c9f6dd0d46a4552db0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237489
Auto-Submit: Herb Derby <herb@google.com>
Commit-Queue: Khushal Sagar <khushalsagar@chromium.org>
Reviewed-by: Khushal Sagar <khushalsagar@chromium.org>
2019-08-27 20:15:59 +00:00
Ben Wagner
c17de1d2b7 Add a way to disable baseline snapping.
Skia has traditionally snapped horizontal and vertical baslines to
pixels as a kind of baseline hinting. This is a feature which cannot
reliably be implemented from the outside and tends to make static text
better looking by ensuring the baselines are consistent. However, with
animation like scrolling or flying and resizing text the animation
suffers. Allow the user to disable the baseline snapping.

Change-Id: I6ee1c12a07242d10c08ae4b75c73e4e28c860790
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237124
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2019-08-27 19:54:29 +00:00
Greg Daniel
dcf9ca1820 Have visitProxies take a GrTexutreProxy instead of GrSurfaceProxy.
Change-Id: Ic1508d7909c90298fdb906391f981505c3ed497e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237485
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-08-27 19:07:27 +00:00
Michael Ludwig
977b50a7e0 Calculate draw bounds in drawEdgeAAImageSet
This will allow SkiaRenderer to provide image filters on the SkPaint
instead of using an explicit saveLayer, where they must calculate the
draw bounds. Once SkiaRenderer provides filters that way, they will
automatically take advantage of any implicit layer optimizations we can
add down the road.

Bug: skia:9283
Change-Id: I87adef336a08210d4d015e36c907e893a973947d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237477
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-08-27 18:35:18 +00:00
Chris Dalton
6aeb8e84df Add renderTasks to the DAG before calling addDependency
This makes sure the dependent task is already in the DAG before a
textureResolveRenderTask calls "addBeforeLast".

Bug: skia:
Change-Id: Ib276d41c386fd3d5a237212d60d7bf67a662e419
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237257
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-08-27 18:24:27 +00:00
Greg Daniel
674ee74e88 Make sure we use clear load op on GrOpsTask as often as possible.
With this change we are also removing the code in the Gr*OpsRenderPass which
will dynamically change the load op for given clear calls. The load is is
set at creation time.

Change-Id: I19f0f37bb38f790b11052953106e0492e6f9fc87
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237425
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2019-08-27 17:47:21 +00:00
Michael Ludwig
ea6fb83931 Fix subset errors in blur, matrix, and morphology filters
Encountered these errors previously, but did not recognize their cause
(see negative marked GM_imagemakewithfilter_crop results on gold). They
came up again when working on fixing snapBackImage() to avoid a copy,
which increased the likelihood of an input image with non-zero origin.

These changes fix the matrix convolution and morphology errors in that
GM so that it now matches the non-crop cases. These had been special
because the last row in that GM didn't require calling applyCropRectAndPad,
so it actually processed an image with a non-zero origin.

The blur fix was discovered when evaluating a blur with a sufficiently
large enough sigma that it needed to be decimated over multiple iterations.
In that case, the second iteration uses a new input proxy so it shouldn't
offset the source coordinates any more.

Change-Id: I7d51025140342c93ca798ca0708c8675ab411beb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237125
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-08-27 17:05:47 +00:00
Stephen White
d36dc302b9 Dawn: use Skia's copy of vulkan headers.
Remove use of Dawn's third_party vulkan headers and the BUILD.gn file
it rode in on.

Change-Id: Ibfb6f063cae291445e19a15d42e96279be072376
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237448
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2019-08-27 17:05:46 +00:00
Stephen White
15d0a26fc4 Add spirv-cross to DEPS.
Extract the appropriate parts of Dawn's third_party BUILD.gn for it, and
put them in their own BUILD.gn.

Change-Id: Iedfc11321ca5366499dfc8a1759d8aa08eb78931
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237442
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-08-27 16:40:23 +00:00
Stephen White
c445c7d5c8 Dawn: Remove spirv-tools and spirv-headers rules from Dawn build files.
Use Skia's copies in //third_party/externals/ instead.

Change-Id: I9cddb1d1268033fcc6f345b147495820bc1d308b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237439
Commit-Queue: Stephen White <senorblanco@chromium.org>
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-08-27 15:25:21 +00:00
Mike Klein
334a642b20 remove unused sk_sp comparison operators
These unused comparison operators are the only users of
<functional> in SkRefCnt.h, for std::less.  <functional>
is an expensive header to compile, and SkRefCnt.h is popular,
so it helps to cut dependencies like this.

Mostly we just need to add #include <functional> in a few
places that were picking it up via SkRefCnt.h.

In SkPixmapPriv.h, it looked simpler to template the argument,
since everything was inline anyway.

Change-Id: I7c125bb26a04199847357c729a1b178256c6ef8d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/236942
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-08-27 14:52:01 +00:00
Michael Ludwig
e2cbd947b7 Fix long line
Change-Id: Ib7796c8a8455bf3454a7982fa9cd7e624160c4e2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237126
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-08-27 14:36:01 +00:00
Michael Ludwig
f010089975 Revert "gpu: Update GrGLCaps usage of fTextureRectangle with chromium."
This reverts commit c43ab22a8c.

Reason for revert: crbug.com/998038

Original change's description:
> gpu: Update GrGLCaps usage of fTextureRectangle with chromium.
> 
> R=​bsalomon@google.com
> 
> Bug:900706
> Change-Id: I0ca0062f12f905c47e9f096acf675b93f131e390
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/234990
> Commit-Queue: Khushal Sagar <khushalsagar@chromium.org>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

TBR=bsalomon@google.com,khushalsagar@chromium.org

Change-Id: Iebdaed117229987f23ec1b1ad48ec6719972ad95
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 900706
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237431
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-08-27 14:30:12 +00:00
Shachar Langbeheim
ebe48959ee compile.sh: Use emar in order to bundle libraries.
This is necessary in order to use emscripten's new compiler, as
described here:
https://bit.ly/2ZlwQmz

Change-Id: I66e0a6e4e403b7a9ba94860ea9cc7e53027d6f46
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237396
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-08-27 13:33:20 +00:00
Mike Klein
48e08aa973 <ostream> -> <iosfwd>
<ostream> is one of the more expensive headers to include
and that's amplified by SkRefCnt.h's popularity.

We've been including <ostream> for sk_sp's operator<<.  That's only
used by Chromium and while we could just sprinkle in a bunch of .get()
calls and remove operator<<, when I started going through and actually
doing that I got the feeling I was making things pointlessly harder to
read and write, and wanted to find a way to make it actually work.

My next instinct was to template it without mentioning ostreams,

    template <typename OS, typename T>
    auto operator<<(OS& os, const sk_sp<T>& sp) -> decltype(os << sp.get()) {
        return os << sp.get();
    }

but that makes this operator<< ambiguous with some other templated operator<<
in GTest.  They got in first, so they win...

So ultimately, switch <ostream> to <iosfwd>.   Anyone using our
operator<<() presumably has <ostream> included already, and the #include
cost for <iosfwd> is small enough that I don't think we'll mind keeping
this around indefinitely.

To repro, look at before/after of -ftime-trace:

    ~/chromium/src/third_party/llvm-build/Release+Asserts/bin/clang++ -I. -Os -c src/core/SkCanvas.cpp -ftime-trace

I have tested locally that Chromium builds with this change.

Change-Id: I9decc2e65b5cc8fd07d8106a5eff81901aedd7d5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237190
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-08-27 13:08:56 +00:00
Kevin Lubick
e384df4f5e [canvaskit] Add sundry APIs and tests
To the reviewer: I've tried to make it so each PS adds one new API.

Change-Id: I81fc85c7a93a19ce4fd725a125e138d35471e693
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237155
Reviewed-by: Mike Reed <reed@google.com>
2019-08-27 12:35:49 +00:00
recipe-roller
6064ecf7e9 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/c76e28ff61f722e8f67f06531e0fc31daa768837 [swarming] Roll client (joshuaseaton@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I10a9ded4a45d79e5343a8da877e49a0099051aaf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237354
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-08-27 06:09:13 +00:00
skia-recreate-skps
4b5d655619 Update Go deps
Change-Id: I640e8940661024dc8cdcd71201eac578a53b865c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237347
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-08-27 05:24:13 +00:00
skia-autoroll
07523989bb Roll third_party/externals/angle2 3c6b2e1613c8..57ad1e1287dd (8 commits)
3c6b2e1613..57ad1e1287

git log 3c6b2e1613c8..57ad1e1287dd --date=short --no-merges --format='%ad %ae %s'
2019-08-27 syoussefi@chromium.org Vulkan: Introduce ContextScoped
2019-08-26 shrekshao@google.com Implement Draw base vertex and base instance functions
2019-08-26 thakis@chromium.org Try to list files instead of directory in isolate for gl_cts data.
2019-08-26 lujc@google.com Use FenceNVID in place of GLuint handles
2019-08-26 jmadill@chromium.org Fix trace logging in Debug.
2019-08-26 ianelliott@google.com Vulkan: Enable ES1_VULKAN testing in end2end tests.
2019-08-26 cwallez@chromium.org LoggingAnnotator: don't output to trace file if there is no platform
2019-08-26 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src aef8f92b2bb6..1eb89172a82b (3 commits)

Created with:
  gclient setdep -r third_party/externals/angle2@57ad1e1287dd

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC stani@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
TBR=stani@google.com
Change-Id: I0db13b4a1672283d42e76abcf8cfbd7123efd33a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237339
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-27 05:21:53 +00:00
skia-autoroll
479525fd8a Roll ../src 26bef9371198..31c682b20741 (361 commits)
26bef93711..31c682b207


Created with:
  gclient setdep -r ../src@31c682b207

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-skia-autoroll
Please CC stani@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Bug: None
TBR=stani@google.com
Change-Id: I547a8f577d005a597eda31028ed85fb8f3b47d44
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237341
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-27 04:59:23 +00:00
skia-autoroll
e63dc15e38 Roll third_party/externals/swiftshader d6dc4b7e4533..605f863173b6 (4 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/d6dc4b7e4533..605f863173b6

git log d6dc4b7e4533..605f863173b6 --date=short --no-merges --format='%ad %ae %s'
2019-08-26 chrisforbes@google.com Refactor framebuffer clear to be less redundant
2019-08-26 chrisforbes@google.com Refactor multiview support to remove some redundancy
2019-08-26 chrisforbes@google.com Fix misleading UNIMPLEMENTED in image load
2019-08-26 swiftshader.regress@gmail.com Regres: Update test lists @ d6dc4b7e

Created with:
  gclient setdep -r third_party/externals/swiftshader@605f863173b6

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-skia-autoroll
Please CC stani@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
TBR=stani@google.com
Change-Id: Id3ed6d69800ad7048874386bc4521e3f2d00bdff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237340
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-27 04:38:13 +00:00
Khushal
c43ab22a8c gpu: Update GrGLCaps usage of fTextureRectangle with chromium.
R=bsalomon@google.com

Bug:900706
Change-Id: I0ca0062f12f905c47e9f096acf675b93f131e390
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/234990
Commit-Queue: Khushal Sagar <khushalsagar@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-08-27 03:12:24 +00:00
Florin Malita
3c8f9cb45d [skottie] Harden motion blur
1) don't attempt to attach the effect when the layer is null

2) sksg::onRender can receive a null context - handle it gracefully

TBR=

Change-Id: I4fae08b15d448849c7c99b17df6811ad31f190c8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237276
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-08-27 00:21:12 +00:00
Herb Derby
30cd12e814 Track RemoteStrikes to send using pointers instead of descriptors
This reduces the number of map lookups that need to happen.

Change-Id: I068819f2576bf644a5c3550d48e69413e19179d3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237217
Reviewed-by: Khushal Sagar <khushalsagar@chromium.org>
Commit-Queue: Herb Derby <herb@google.com>
2019-08-26 22:10:20 +00:00
Chris Dalton
6f31cc3882 Revert "Initiate MSAA resolves during DAG generation"
This reverts commit 804f6a0fe7.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Initiate MSAA resolves during DAG generation
> 
> Adds an "fIsMSAADirty" flag to GrRenderTargetProxy and switches to
> resolving MSAA in GrTextureResolveRenderTask. This completes our push
> to resolve textures outside of render passes.
> 
> For the time being, we only store a dirty flag on the proxy and still
> rely on the GrRenderTarget itself to track the actual dirty rect. This
> will be followed by a CL that moves the dirty rect out of
> GrRenderTarget and into the proxy.
> 
> Bug: skia:
> Change-Id: I21219a58028bdb4590940210e565133093cd34b3
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235672
> Commit-Queue: Chris Dalton <csmartdalton@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>

TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,csmartdalton@google.com

Change-Id: Ife557caa840edfb64cbcafc272dc3012cfb43702
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237242
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-08-26 20:18:57 +00:00
skia-autoroll
03fccf4857 Roll skia/third_party/skcms ce4270691346..684790252fe2 (1 commits)
https://skia.googlesource.com/skcms.git/+log/ce4270691346..684790252fe2

git log ce4270691346..684790252fe2 --date=short --no-merges --format='%ad %ae %s'
2019-08-26 mtklein@google.com more careful float -> int range checks

Created with:
  gclient setdep -r skia/third_party/skcms@684790252fe2

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skcms-skia-autoroll
Please CC stani@google.com,mtklein@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

CQ_INCLUDE_TRYBOTS=luci.chromium.try:linux-blink-rel

Bug: None
Change-Id: I5f76dd5d931cb823b708ceff8077ee10fbc12a8b
TBR=stani@google.com,mtklein@google.com
TBR=stani@google.com,mtklein@google.com
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237215
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-26 20:08:45 +00:00
Stephen White
ef2dc90172 Dawn: update for GrGpuCommandBuffer -> GrOpsRenderPass change.
Change-Id: Ifbe4bcd40bcf316868d23c2edf73b2371c6cb312
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237119
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2019-08-26 20:05:55 +00:00
Herb Derby
7c73d2c5ed Fix include path in spirv-tools build
Change-Id: Ia47127d5f539f6eb479c095f7bf9079db1ff5bad
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237120
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Auto-Submit: Herb Derby <herb@google.com>
2019-08-26 19:56:45 +00:00
Michael Ludwig
14c4486244 Make image filter virtuals private where possible
Trivial protected virtuals that never need to be called by subclasses,
but represent configurable policy for SkImageFilter_Base can be made
private virtuals.

Also mark many of the other protected functions as deprecated to help
show what the planned API surface will be for SkImageFilter_Base.

Bug: skia:9295
Change-Id: I3955c3cee1ee7426edd79b12e36a751bc14b87af
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/234656
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-08-26 19:19:31 +00:00
Chong Zhang
ea68eacd1a heif: Update to actual frame duration when the frame is decoded
bug: 139815242
test: test some 25fps files, and with local logs, duration should
      show 40ms instead of the default 33ms.

Change-Id: Ibd10bda17634b1337349bfc9f69757f569d35972
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237205
Commit-Queue: Chong Zhang <chz@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Auto-Submit: Chong Zhang <chz@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2019-08-26 18:56:21 +00:00
Chris Dalton
804f6a0fe7 Initiate MSAA resolves during DAG generation
Adds an "fIsMSAADirty" flag to GrRenderTargetProxy and switches to
resolving MSAA in GrTextureResolveRenderTask. This completes our push
to resolve textures outside of render passes.

For the time being, we only store a dirty flag on the proxy and still
rely on the GrRenderTarget itself to track the actual dirty rect. This
will be followed by a CL that moves the dirty rect out of
GrRenderTarget and into the proxy.

Bug: skia:
Change-Id: I21219a58028bdb4590940210e565133093cd34b3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235672
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-08-26 18:36:53 +00:00
recipe-roller
464eb78e44 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/31f187e5c0d7d13d71348dd9bd6a891bf3643ba6 pylint: add myself as an owner (vapier@chromium.org)
recipe_engine:
  https://crrev.com/8f799e486a93f7f8bcc13531403dc4435b5e7259 Roll swarming client (atyfto@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I457b528939de1e042fd7c6d6f12c3f8909951703
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237200
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-08-26 18:22:00 +00:00
Mike Klein
a2931beb4b remove MSRTC bots and GN support
We've failed to get these bots to report where issues happen
any more finely than the name of the executable, which makes
them a real pain to fix when they go red.

We don't expect we'll be able to run cleanly in this mode for
long without bots enforcing it, so remove support from GN too.

Change-Id: Ie86f0cbf2f5f859ac2ddb869da7e5b8d31b33fa0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237195
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-08-26 17:49:28 +00:00
Stephen White
238fc249a4 Reland "Update DEPS: roll spirv-tools and spirv-headers."
This is a reland of d617d5d29c

Original change's description:
> Update DEPS: roll spirv-tools and spirv-headers.
> 
> spirv-tools and spirv-headers were about two years out-of-date, and
> Dawn requires more recent versions.
> 
> This required an updated BUILD.gn file for spirv-tools. I used a
> modified version of the one I had written for Dawn. (The latter will
> be removed in favour of this one when we switch the Dawn backend
> from using Dawn's DEPS for spirv-tools and spirv-headers to using
> Skia's).
> 
> Change-Id: If61eb05ada9f4287b1a16daf10f9b1fac041a7b0
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/234907
> Commit-Queue: Stephen White <senorblanco@chromium.org>
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>

Change-Id: Ic4fe17fe286b04905977b9acb280ee9970b305bc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237194
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-08-26 17:34:15 +00:00
Stan Iliev
d3acd352b6 Revert "Update DEPS: roll spirv-tools and spirv-headers."
This reverts commit d617d5d29c.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Update DEPS: roll spirv-tools and spirv-headers.
> 
> spirv-tools and spirv-headers were about two years out-of-date, and
> Dawn requires more recent versions.
> 
> This required an updated BUILD.gn file for spirv-tools. I used a
> modified version of the one I had written for Dawn. (The latter will
> be removed in favour of this one when we switch the Dawn backend
> from using Dawn's DEPS for spirv-tools and spirv-headers to using
> Skia's).
> 
> Change-Id: If61eb05ada9f4287b1a16daf10f9b1fac041a7b0
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/234907
> Commit-Queue: Stephen White <senorblanco@chromium.org>
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>

TBR=senorblanco@chromium.org,ethannicholas@google.com

Change-Id: I464dc2c21381e714dabc25e63939dd6d7fa3fcff
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237150
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Stan Iliev <stani@google.com>
2019-08-26 17:05:57 +00:00
Ben Wagner
11eae3d233 Basic changes to get XPS drawing text.
Basic maintenance to get basic things working. Most of the motivation is
to use better ownership and iteration patterns.

Change-Id: If8ffe0c7b2bddd55259ac8fa119fc9e233b9249d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/236616
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
2019-08-26 16:20:44 +00:00
Michael Ludwig
ea07123fed Define Usage and image+origin wrapper for image filters
Bug: skia:9282
Change-Id: I4f00c8a608ab4ce9557228d162c205bcc2002a3c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/234583
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-08-26 15:50:14 +00:00
Florin Malita
922e2254b1 Add a colortype conversion bench
curr/maxrss	loops	min	median	mean	max	stddev	samples   	config	bench
  46/46  MB	4	65.4µs	65.5µs	67.1µs	75.5µs	5%	█▅▁▁▁▁▁▁▁▁	nonrendering	ctconvert_4_4_readpixels
  46/46  MB	3	80.4µs	80.7µs	82.2µs	93.8µs	5%	█▁▁▁▂▁▁▁▁▁	nonrendering	ctconvert_4_4_drawbitmap
  46/46  MB	3	76.5µs	76.6µs	80.5µs	93.4µs	8%	▇▁▁▁▁▁█▄▁▂	nonrendering	ctconvert_4_6_readpixels
  46/46  MB	2	155µs	155µs	157µs	174µs	4%	█▁▁▁▁▁▁▁▁▁	nonrendering	ctconvert_4_6_drawbitmap

Change-Id: Ib53f76a289ee101a85054d773cadcea475baf280
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237141
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
2019-08-26 15:41:54 +00:00
Greg Daniel
2d41d0d363 Remove GrGpuTextureCommandBuffer class and rename to GrOpsRenderPass.
Change-Id: Ia6e666a7bb986bb3dc769d25919580bca17b4748
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/236556
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-08-26 15:34:14 +00:00
Mike Reed
3012cbaa20 remove unneeded noemptycheck variants of intersect
The existing intersect logic already fails if either argument is empty,
without performing any extra checks.

Change-Id: I4cc4f1e63af7efbed4e1084284c1607c104ff361
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237142
Reviewed-by: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-08-26 15:03:44 +00:00
Herb Derby
ff379423c1 Rename SkGlyphCacheState -> RemoteStrike
Change-Id: I30a7fe759d367d518f3de78043b43ca4738a1ccb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237143
Commit-Queue: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-08-26 14:59:44 +00:00
Stephen White
d617d5d29c Update DEPS: roll spirv-tools and spirv-headers.
spirv-tools and spirv-headers were about two years out-of-date, and
Dawn requires more recent versions.

This required an updated BUILD.gn file for spirv-tools. I used a
modified version of the one I had written for Dawn. (The latter will
be removed in favour of this one when we switch the Dawn backend
from using Dawn's DEPS for spirv-tools and spirv-headers to using
Skia's).

Change-Id: If61eb05ada9f4287b1a16daf10f9b1fac041a7b0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/234907
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2019-08-26 14:47:29 +00:00
skia-recreate-skps
ba57aa2b4a Update Go deps
Change-Id: I4f7ddf56015cc6ba67978d2d52313c1434d2a9a1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237116
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-08-26 05:25:48 +00:00
skia-autoroll
77eb3bee4f Roll third_party/externals/angle2 17f26865c8cc..3c6b2e1613c8 (17 commits)
17f26865c8..3c6b2e1613

git log 17f26865c8cc..3c6b2e1613c8 --date=short --no-merges --format='%ad %ae %s'
2019-08-23 jmadill@chromium.org More improvements to trace logging.
2019-08-23 dongja@google.com Vulkan: Improve cubemap emulation seam handling
2019-08-23 bsheedy@chromium.org Refactor perf tests to fix metric/story swapping
2019-08-23 geofflang@chromium.org Don't reset the texture size to zero in TextureGL::releaseTexImage on Mac.
2019-08-23 geofflang@chromium.org GL: Unset the bound PBO when initiailizing texture data.
2019-08-23 jonahr@google.com Suppress failure in MultisampleCompatibilityTest
2019-08-23 jmadill@chromium.org Vulkan: Reference Context fences in FenceSyncVk.
2019-08-23 geofflang@chromium.org Only log D3D11 annotations from the thread used to initialize the annotator.
2019-08-23 clemendeng@google.com Don't build symbol table for GLSL built-ins if on Android
2019-08-23 dongja@google.com Vulkan: support dynamic indices in array of arrays
2019-08-23 svaisanen@nvidia.com Add several angle bugs for end2end tests failing on NVIDIA
2019-08-23 svaisanen@nvidia.com Add AtomicCounterIncrement test case
2019-08-23 jaedon1.lee@samsung.com Vulkan: Implement EXT_texture_type_2_10_10_10_REV
2019-08-23 jonahr@google.com Revert "Remove skipping of groupMemoryBarrierAndBarrierTest on NVIDIA"
2019-08-23 syoussefi@chromium.org Vulkan: Support mixed column/row-major buffer fields
2019-08-23 syoussefi@chromium.org Translator: Allow tree validation in children of TCompiler
2019-08-23 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src 34cccdc65d79..a3bc04b278ed (5 commits)

Created with:
  gclient setdep -r third_party/externals/angle2@3c6b2e1613c8

The AutoRoll server is located here: https://autoroll.skia.org/r/angle-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=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
TBR=stani@google.com
Change-Id: Ic9573bb1822c9980d77b6168d2e14f496b0d147c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237097
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-26 05:17:49 +00:00
skia-autoroll
6219071ecd Roll ../src edb7520e0ea4..26bef9371198 (465 commits)
edb7520e0e..26bef93711


Created with:
  gclient setdep -r ../src@26bef93711

The AutoRoll server is located here: https://autoroll.skia.org/r/chromium-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=skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Bug: None
TBR=stani@google.com
Change-Id: I6088840e5622c682fdc6834932bb554d709ec55b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237098
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-26 04:42:49 +00:00
skia-autoroll
d25be18888 Roll third_party/externals/swiftshader 115cfe7a1b32..d6dc4b7e4533 (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/115cfe7a1b32..d6dc4b7e4533

git log 115cfe7a1b32..d6dc4b7e4533 --date=short --no-merges --format='%ad %ae %s'
2019-08-23 chrisforbes@google.com Store subpass index in ExecutionState, not in RenderPass

Created with:
  gclient setdep -r third_party/externals/swiftshader@d6dc4b7e4533

The AutoRoll server is located here: https://autoroll.skia.org/r/swiftshader-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=skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
TBR=stani@google.com
Change-Id: I0f73638c08a00a9e5827c5cbdf6b21432a577195
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237096
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-26 04:36:18 +00:00
recipe-roller
27afcf5d12 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/4016d1b393a1ea0530c5c243e9d26e20a5cb60b0 [lucicfg] Update to v1.8.3. (vadimsh@chromium.org)
  https://crrev.com/ed485e1994073606da6e23ecc95f0f996c5a1eb6 pylintrc: disable score reports (vapier@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I40c7eb393392f0b2629ef15d2685b3e5f78f10db
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237091
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-08-25 23:42:30 +00:00
Mike Reed
92b33354dd more rect api simplifications
set --> setLTRB
set(pts, count) --> setBounds

Bug: skia:9328
Change-Id: I807c0598a8b23b2f721db118ec41c1607114205a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237038
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-08-25 10:12:57 +00:00
skia-recreate-skps
e4f1cd644a Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I3e532df5924a2d0531326edd23e9e1b0d9f664b4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237084
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-08-25 08:12:47 +00:00
skia-recreate-skps
46129a94cd Update Go deps
Change-Id: I369856bc1259cd0f3a440bb4c3cdea961d3904ae
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237079
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-08-25 05:26:15 +00:00