Commit Graph

49127 Commits

Author SHA1 Message Date
Michael Ludwig
9716414e93 Simplify GrClip API
Removes quickContains(SkRect), quickContains(SkRRect), and isRRect().
Replaces these three functions with preApply() that conservatively
determines the clip effect up to a single rrect intersection. The major
motivation for this is the new GrClipStack implementation. preApply()
and apply() will be able to reuse much more code compared to separating
the preApply functionality across the older three functions that were
removed. Additionally, preApply is able to convey more information for
less work, since it can usually determine being skipped or unclipped while
determining if the clip is a single rrect.

As part of using this API, the attemptQuadOptimiziation and the equivalent
rrect optimization are overhauled. Hopefully legibility is improved, and
the rrect case is now applied outside of the android framework (but with
tighter AA requirements).

Bug: skia:10205
Change-Id: I33249dd75a28a611495f87b211cb7ec74ebb7ba4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298506
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2020-06-24 15:12:12 +00:00
Robert Phillips
9977ab958f Misc changes to get *ooprdll configs running
Change-Id: I99d183dca8351b6d80dfacf62cd34bd7def6e23d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/296749
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-06-24 15:10:53 +00:00
Mike Klein
b8219e4387 update ApplyMatrix signature
Change-Id: I92b12cba7dbb14c07174a77befd9dfddaec629af
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298636
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-06-24 14:45:52 +00:00
Greg Daniel
513e475c86 Make sure we hold refs to sampled textures in d3d.
Change-Id: Id2542457a361963d7052674bc875a66bd59b48d9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298676
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-06-24 14:33:26 +00:00
Robert Phillips
4621428b04 Revert "Ignore calls to freeGpuResources on abandoned contexts"
This reverts commit ebea6d0133.

Reason for revert: Let's see if this is blocking the Chrome roll

Original change's description:
> Ignore calls to freeGpuResources on abandoned contexts
> 
> GPU resources are freed during abandonment and so public calls to this
> method should be ignored.
> 
> Bug: skia:10421
> Change-Id: I18eb3fbd85cc95c1f2663e109237e5e271a95604
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298346
> Auto-Submit: Adlai Holler <adlai@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>

TBR=robertphillips@google.com,adlai@google.com

Change-Id: Ia49dae6d45deec8a628396fa43499f902691b1d3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10421
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298702
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-06-24 13:55:34 +00:00
Brian Osman
568d11301d Revert "Remove SkSpecialImage::makeTextureImage"
This reverts commit d34528c357.

Reason for revert: A handful of bad GM results. Going to try a better version.

Original change's description:
> Remove SkSpecialImage::makeTextureImage
> 
> Tweak how SkImageSource works, so that all nodes now remain on the GPU,
> or go directly there if we've got a GPU-backed skif::Context.
> 
> Bug: skia:9825
> Bug: skia:10202
> Change-Id: I35471fd41a00a0a9859eff04c26382e9d2d88a7b
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298347
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>

TBR=robertphillips@google.com,brianosman@google.com,michaelludwig@google.com

Change-Id: I05c884fb3dd1c590def8f400f5090f0381ba67da
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:9825, skia:10202
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298716
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-06-24 13:52:48 +00:00
Jim Van Verth
f8d25ef97d Disable one more D3D test
Bug: skia:9935
Change-Id: Ibbe25c629988f134b02f337c333a9cfc5c75a7a1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298677
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-06-24 13:47:41 +00:00
Robert Phillips
c23b732da6 Update viewer to call the gpuSetup GM entry point
Change-Id: Ic2562d985e144f25dcbb5cf40fafc86a33fb76c2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298505
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Trevor Barton <trevor.barton@sydstu.catholic.edu.au>
Reviewed-by: Kobi Robinson <kobi.robinson@sydstu.catholic.edu.au>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-06-24 13:43:59 +00:00
Kevin Lubick
d9b9e5ec4b [canvaskit] High performance Path APIs
https://skia-review.googlesource.com/c/skia/+/297896 draws
several paths with over 1000 points (one has ~250k) and
was pretty slow. We already had a way to provide a flat(ish)
array of all the verbs, points and weights mushed together
(although that should be cleaned up to prefer taking a 1d
array).

This adds an additional way to provide multiple verbs,
points, (and optionally weights, if conics are used) to CanvasKit.
This makes things dramatically faster because of batch copying
the values between JS and WASM (or using Malloc).

Additionally, the above CL revealed a need to be able to
use a subsection of a Malloc'd array efficiently. Thus,
I added subarray as a method of the Malloc object, which
can be used effectively as a pointer (i.e. no copying).

Change-Id: I2c1d26b25118fb9949e878b1b519d93efcfa5019
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297841
Reviewed-by: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2020-06-24 12:40:49 +00:00
Florin Malita
8268108731 Reland "[skottie] skottie_tool updates"
This reverts commit d424d6a3bd.

Reason for revert: ready to reland

Original change's description:
> Revert "[skottie] skottie_tool updates"
> 
> This reverts commit 6499e7fb4c.
> 
> Reason for revert: G3 roll
> 
> Original change's description:
> > [skottie] skottie_tool updates
> > 
> > 1) plumb a precomp interceptor to support nested animations, following
> >    the same naming pattern as viewer and dm
> > 
> > 2) clear background with white instead of transparent, to match other
> >    tools
> > 
> > TBR=
> > Change-Id: Ic1d1f8c6493a3ca98a9b75f5e2aa2230a46f54d9
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298139
> > Reviewed-by: Florin Malita <fmalita@chromium.org>
> > Commit-Queue: Florin Malita <fmalita@google.com>
> 
> TBR=fmalita@chromium.org,fmalita@google.com
> 
> Change-Id: Ibd320e9f7f30004e80ff4d2b2012a18703910842
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298337
> Reviewed-by: Florin Malita <fmalita@google.com>
> Commit-Queue: Florin Malita <fmalita@google.com>

TBR=fmalita@chromium.org,fmalita@google.com

# Not skipping CQ checks because this is a reland.

Change-Id: Id20c88771caf580519e1e92dc293933041522f7a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298561
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2020-06-24 11:18:44 +00:00
skia-autoroll
322e4be6a1 Roll ANGLE from 9daab8cbffb7 to 1496de215a39 (13 revisions)
9daab8cbff..1496de215a

2020-06-23 bpastene@chromium.org Remove implied CIPD packages from scripts/trigger.py
2020-06-23 syoussefi@chromium.org Vulkan: Remove DispatchHelper
2020-06-23 nguyenmh@google.com Re-enable presubmit commit message format check
2020-06-23 jmadill@chromium.org Update glslang_validator binary for Windows.
2020-06-23 syoussefi@chromium.org Add mip-related corner-case tests
2020-06-23 syoussefi@chromium.org Update glslang_validator binary for Linux.
2020-06-23 amaiorano@google.com Enable validation layer custom extensions
2020-06-23 angle-autoroll@skia-public.iam.gserviceaccount.com Roll glslang from e20ac35adbfd to 839704450200 (3 revisions)
2020-06-23 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from 71c1a611fdbb to 76ddcca9f3a4 (5 revisions)
2020-06-23 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from ae1007957f09 to 9167e1e22a46 (1 revision)
2020-06-23 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from d4b9f576ebb4 to 36b5bb701da9 (1 revision)
2020-06-23 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Tools from 977b7ccbacc1 to 0f4d5f74f199 (2 revisions)
2020-06-23 syoussefi@chromium.org Add mipmap generation perf test for emulated formats

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 lovisolo@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/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: chromium:812428
Tbr: lovisolo@google.com
Change-Id: Ica9fa321e0adc4e64f72aaadeebf455163ff9fa7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298602
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-06-24 04:46:00 +00:00
skia-autoroll
8278c73726 Roll SwiftShader from 9167e1e22a46 to eb0a25a189b7 (3 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/9167e1e22a46..eb0a25a189b7

2020-06-23 amaiorano@google.com Kokoro: add builds with REACTOR_EMIT_DEBUG_INFO and REACTOR_EMIT_PRINT_LOCATION
2020-06-23 amaiorano@google.com Fix build when ENABLE_RR_DEBUG_INFO enabled
2020-06-23 amaiorano@google.com Make Windows Kokoro script less verbose

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 lovisolo@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/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: lovisolo@google.com
Change-Id: I1b909962dc8fcd053eadcb30c73f97907a137f9f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298603
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-06-24 04:43:30 +00:00
skia-autoroll
92c3b89d23 Roll Chromium from adf736e29a5b to 66992a849fec (532 revisions)
adf736e29a..66992a849f

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 lovisolo@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/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Tbr: lovisolo@google.com
Change-Id: I1acab6ef75ad391ae1968798cf8682db0a7721ce
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298601
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-06-24 04:35:50 +00:00
Florin Malita
a3b0b30a78 [skrive] Parse ellipse data
TBR=
Change-Id: I76b4cd1639bee648630a841164045f8b9693af49
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298560
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-06-24 02:17:30 +00:00
Mike Reed
22f246f5ad add simple pathbuilder
88.26 ?	makepath_arrays_reserve	nonrendering
    235.97  	makepath_detach_reserve	nonrendering
    274.56  	makepath_snapshot_reserve	nonrendering
    537.61  	makepath_path_reserve	nonrendering
    472.98  	makepath_detach_noreserve	nonrendering
    482.56  	makepath_snapshot_noreserve	nonrendering
    750.83 ?	makepath_path_noreserve	nonrendering

Bug: skia:9000
Change-Id: I346537e899b08946c5778042a021f464006b029c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209403
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2020-06-24 01:50:30 +00:00
Brian Osman
5aaaeea4da Supply device and local coords to SkShader_Base::onProgram
Use that to add support for sk_FragCoord in SkRuntimeEffect.

Change-Id: I587ad97057c13ec8a4052c7c20f655eae88786ba
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298504
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-06-23 22:00:20 +00:00
Leon Scroggins III
fe02dd1ee6 Roll NDK to r21d
Bug: skia:10370

In android_ndk_windows/create.py, remove the code to remove a directory.
This directory did not exist when I ran the script, leading to an
Exception.

Change-Id: I91aad3ff3738af99d425d334a11b6c60765e1c11
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298501
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2020-06-23 20:23:51 +00:00
Jim Van Verth
99a7e660ac Adjust which Direct3D tests are disabled
With recent fixes many of these tests can be re-enabled, and one is
failing on both GPUs now.

Bug: skia:9935
Change-Id: I75b2b0802a73e326998846285b343e9d3d6980af
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298411
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2020-06-23 20:20:50 +00:00
Jim Van Verth
aed25a93a4 Disable PromiseImageTextureShutdown test for D3D
Change-Id: Ic80aa28cd25696a0978d716688d9351935206d41
Bug: skia:9935
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298499
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2020-06-23 19:32:50 +00:00
Herb Derby
c5f25bc215 make internal shared methods
Make shared routines, which will not need to acquire the mutex,
internal so they can be shared by API routines that acquire the mutex.

Change-Id: Ic50d73affdc1e71871ea1eacb12b2e134daff3ec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298410
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-06-23 18:47:10 +00:00
Chris Dalton
7d7cd2b178 Make glPatchParameteri required when tessellation is supported
Chrome started wrangling this entrypoint in the following CL:

https://chromium-review.googlesource.com/c/chromium/src/+/2253344

Change-Id: Ief4dfb1ddca8d86e0c09dfdc443e01830cb4de20
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298405
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-06-23 18:45:41 +00:00
Herb Derby
3b6b747842 simplify freeAll
Change-Id: Ie0c396ee0f92bc16933a137270fc1601faf177f5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298403
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-06-23 17:37:19 +00:00
Brian Osman
d34528c357 Remove SkSpecialImage::makeTextureImage
Tweak how SkImageSource works, so that all nodes now remain on the GPU,
or go directly there if we've got a GPU-backed skif::Context.

Bug: skia:9825
Bug: skia:10202
Change-Id: I35471fd41a00a0a9859eff04c26382e9d2d88a7b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298347
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2020-06-23 17:32:39 +00:00
Kevin Lubick
d12c124d87 [demos] Move to subdir
This was supposed to go in the previous CL, but patchsets are hard.

Change-Id: I9c479e547bc3f206bb2225ca54b25c52b9483960
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298407
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-06-23 17:29:37 +00:00
Kevin Lubick
2639a144ff [demos] Add directory from which to serve demos.skia.org
To run the demos locally, cd in to the directory and run
  make local

Then navigate to, for example, http://localhost:8123/demos/hello_world/

Change-Id: I5954989053d4602cd558c646e19106998dc00604
Bug: skia:10170
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298397
Reviewed-by: Weston Tracey <westont@google.com>
2020-06-23 17:24:59 +00:00
Adlai Holler
ebea6d0133 Ignore calls to freeGpuResources on abandoned contexts
GPU resources are freed during abandonment and so public calls to this
method should be ignored.

Bug: skia:10421
Change-Id: I18eb3fbd85cc95c1f2663e109237e5e271a95604
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298346
Auto-Submit: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-06-23 16:47:17 +00:00
Jim Van Verth
43a6e176a6 Reland "Reland "Fill in GrD3DGpu::onUpdateBackendTexture""
This is a reland of f58d19a51b

Original change's description:
> Reland "Fill in GrD3DGpu::onUpdateBackendTexture"
> 
> This is a reland of 5a967f593c
> 
> Original change's description:
> > Fill in GrD3DGpu::onUpdateBackendTexture
> > 
> > Change-Id: I83268cf9daf62c0bab831cf5340b85f31cc941b0
> > Bug: skia:9935
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295834
> > Commit-Queue: Jim Van Verth <jvanverth@google.com>
> > Reviewed-by: Greg Daniel <egdaniel@google.com>
> 
> Bug: skia:9935
> Change-Id: I3c1eb65a7a734cc0169cd3d0d77d1d20126107a5
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298119
> Reviewed-by: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Jim Van Verth <jvanverth@google.com>

Bug: skia:9935
Change-Id: I34d9ba973681b53e03eef8b932dfd3a209281f27
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298356
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2020-06-23 16:32:36 +00:00
Florin Malita
b8846450a8 Fix public.bzl formatting
TBR=
Change-Id: I294511f4aac3fb66810364c8568f5621de6a8e81
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298398
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@google.com>
2020-06-23 16:27:17 +00:00
John Stiles
7f9aa5a2c6 Reduce calls to addColorFragmentProcessor in GrPaint creation.
Functionally this CL changes no behavior--this just reduces the number
of separate GrFragmentProcessor variables we are moving around and
consolidates a few invocations of `addColorFragmentProcessor` into one.
The resultant tree of FPs is unchanged.

The eventual goal is to consolidate all GrPaint-created FPs into the
`paintFP`. In followup CLs, we will continue to thread `paintFP`
further down the function; e.g. `SkColorFilter` should take `paintFP`
as an inputFP.

Change-Id: I47db14b5bc88ab0e25360091b2d40685d9c27df6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298344
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-06-23 16:05:08 +00:00
Greg Daniel
d79197dfb1 Add api to GrVkMemoryAllocator to return VkResult from allocate calls.
Change-Id: I344e5d70126cce210bb9fe442ae040d13ab74c2f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298218
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Peng Huang <penghuang@google.com>
2020-06-23 15:27:53 +00:00
Florin Malita
044e8bc8c2 Add SkottieUtils src/hdr defines to public.bzl
TBR=
Change-Id: I290f0af76862bf4f6a35f5d53f7a0ab44dc16ec8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298345
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2020-06-23 15:01:04 +00:00
Dominic Mazzoni
2eb3c17ba3 Add appendNodeIdArray to avoid code duplication.
Add SkPDF::AttributeList::appendNodeIdArray so that clients
don't need to re-implement/duplicate NodeIdToString in order to
add attributes that express the relationship between nodes.

Follow-up to:
https://chromium-review.googlesource.com/c/chromium/src/+/2251058

This deletes appendNameArray and appendStringArray since there's
no immediate need for them, but we may add them back if needed.

Bug: chromium:607777
Change-Id: If9b1527f97c7b52bb1bdad3c0828067bb76f25f2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297277
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-06-23 14:25:33 +00:00
Jorge Betancourt
1fcdcaa0a1 Reland the new module for skia lib for g3
Try to merge change 296417 again with new changes to skottie BUILD in google3
This time, the autoroller shouldn't get upset.

move setupSkiaLibraryBuild call to new lib module
Move shared skottie files we intend to distribute into a library module

Change-Id: I3a86ec611cb38e1940033b60d607fabe6a4b24e1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297842
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2020-06-23 14:19:13 +00:00
Kevin Lubick
0615aec6fd [canvaskit] Fix CPU build
Change-Id: Ia8f3ba66e76664e6643685f93cada3d32beedf37
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298343
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-06-23 14:18:13 +00:00
Brian Osman
e7ad8c0d3b Remove GPU read-back logic in SkSpecialImage
All image filters are now implemented entirely on the GPU, so we never
need to read back the contents of a texture-backed special image.

Bug: skia:10202
Change-Id: I9e814d4bccde1e638f7bfc27b140e010ddcbcdb9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298138
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2020-06-23 13:15:32 +00:00
Robert Phillips
f105d38d10 Update image_from_yuv_textures GM for *ooprddl configs
Change-Id: I01bd7f19457be16f081334bacec2d9b0b7141283
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297716
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-06-23 13:10:02 +00:00
Florin Malita
d424d6a3bd Revert "[skottie] skottie_tool updates"
This reverts commit 6499e7fb4c.

Reason for revert: G3 roll

Original change's description:
> [skottie] skottie_tool updates
> 
> 1) plumb a precomp interceptor to support nested animations, following
>    the same naming pattern as viewer and dm
> 
> 2) clear background with white instead of transparent, to match other
>    tools
> 
> TBR=
> Change-Id: Ic1d1f8c6493a3ca98a9b75f5e2aa2230a46f54d9
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298139
> Reviewed-by: Florin Malita <fmalita@chromium.org>
> Commit-Queue: Florin Malita <fmalita@google.com>

TBR=fmalita@chromium.org,fmalita@google.com

Change-Id: Ibd320e9f7f30004e80ff4d2b2012a18703910842
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298337
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2020-06-23 13:05:35 +00:00
Florin Malita
2106373889 [skrive] Parse color paints
TBR=
Change-Id: I86f335c57e867db7a181b86b77b4824dfc776fa4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298220
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@google.com>
2020-06-23 12:27:23 +00:00
Jim Van Verth
2bf27f21f8 Revert "Reland "Fill in GrD3DGpu::onUpdateBackendTexture""
This reverts commit f58d19a51b.

Reason for revert: Still hanging GPU

Original change's description:
> Reland "Fill in GrD3DGpu::onUpdateBackendTexture"
> 
> This is a reland of 5a967f593c
> 
> Original change's description:
> > Fill in GrD3DGpu::onUpdateBackendTexture
> > 
> > Change-Id: I83268cf9daf62c0bab831cf5340b85f31cc941b0
> > Bug: skia:9935
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295834
> > Commit-Queue: Jim Van Verth <jvanverth@google.com>
> > Reviewed-by: Greg Daniel <egdaniel@google.com>
> 
> Bug: skia:9935
> Change-Id: I3c1eb65a7a734cc0169cd3d0d77d1d20126107a5
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298119
> Reviewed-by: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Jim Van Verth <jvanverth@google.com>

TBR=egdaniel@google.com,jvanverth@google.com

Change-Id: I161ccaec1d83d385e73f0633b51577c8ef859364
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:9935
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298296
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2020-06-23 12:19:55 +00:00
skia-autoroll
c2f46c16ab Roll ANGLE from b772a955e70c to 9daab8cbffb7 (13 revisions)
b772a955e7..9daab8cbff

2020-06-23 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from 74ed6cfd05c1 to 71c1a611fdbb (4 revisions)
2020-06-22 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from 04f0b691eb4c to 74ed6cfd05c1 (20 revisions)
2020-06-22 tobine@google.com Vulkan:Level/Layer hash fix-up
2020-06-22 lehoangq@gmail.com Metal: deferred render command encoder creation.
2020-06-22 geofflang@google.com Roll zlib and cpufeatures from the ndk into Android.
2020-06-22 xiaoxuan.liu@arm.com Vulkan: Skip Texture2DArrayCopy.SnormFormats on Mali GPU.
2020-06-22 cwallez@chromium.org Suppress TransformFeedbackTest failure on Mac AMD.
2020-06-22 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from eb6824408d08 to ae1007957f09 (3 revisions)
2020-06-22 angle-autoroll@skia-public.iam.gserviceaccount.com Roll glslang from 051c6fed884b to e20ac35adbfd (1 revision)
2020-06-22 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Tools from 9d7880c7a075 to 977b7ccbacc1 (2 revisions)
2020-06-22 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Headers from f31524575668 to 8188e3fbbc10 (1 revision)
2020-06-22 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Loader from 7942c0830780 to 7e8789fe571a (1 revision)
2020-06-22 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from 545d158a2ff9 to d4b9f576ebb4 (4 revisions)

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 lovisolo@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/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: lovisolo@google.com
Change-Id: I00754cf834add8190d6c5f4fd3f3b2e83bbc6fc7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298282
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-06-23 04:54:34 +00:00
skia-autoroll
1b8ef7bdc0 Roll Chromium from 5964c496b4b5 to adf736e29a5b (505 revisions)
5964c496b4..adf736e29a

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 lovisolo@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/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Tbr: lovisolo@google.com
Change-Id: Ic1e4f0251037f4eaff7d91f5a15362e358098e7d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298283
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-06-23 04:49:49 +00:00
skia-autoroll
fc2534692b Roll SwiftShader from ae1007957f09 to 9167e1e22a46 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/ae1007957f09..9167e1e22a46

2020-06-22 cwallez@google.com Revert "Optimize clearing of depth and stencil images"

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 lovisolo@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/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: lovisolo@google.com
Change-Id: I1569adf51fb7f355bbc7d5f699562bae9f6f7482
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298280
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-06-23 04:49:29 +00:00
John Stiles
b444943db2 Update SkString::resize to preserve string contents efficiently.
Without this change, the following unit test failures would occur:

StringTest.cpp:425     [String_resize_grow]
StringTest.cpp:435     [String_resize_after_assignment]
StringTest.cpp:438     [String_resize_after_assignment]
StringTest.cpp:444     [String_resize_after_copy_construction]
StringTest.cpp:446     [String_resize_after_copy_construction]

Change-Id: Ib4f63d51604e55d32f1049136b733ee905b72039
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298217
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-06-22 23:08:55 +00:00
skia-recreate-skps
6dd62cbdfa Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I41218bc69579c79e9a427eee91243239e8fe31d7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298199
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-06-22 22:03:25 +00:00
Jim Van Verth
f58d19a51b Reland "Fill in GrD3DGpu::onUpdateBackendTexture"
This is a reland of 5a967f593c

Original change's description:
> Fill in GrD3DGpu::onUpdateBackendTexture
> 
> Change-Id: I83268cf9daf62c0bab831cf5340b85f31cc941b0
> Bug: skia:9935
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295834
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>

Bug: skia:9935
Change-Id: I3c1eb65a7a734cc0169cd3d0d77d1d20126107a5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298119
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2020-06-22 22:02:45 +00:00
Florin Malita
6499e7fb4c [skottie] skottie_tool updates
1) plumb a precomp interceptor to support nested animations, following
   the same naming pattern as viewer and dm

2) clear background with white instead of transparent, to match other
   tools

TBR=
Change-Id: Ic1d1f8c6493a3ca98a9b75f5e2aa2230a46f54d9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298139
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@google.com>
2020-06-22 21:32:25 +00:00
Michael Ludwig
9aba625ec3 Move setSampleMatrix and setSampledWithExplicitCoords into child registration
Bug: skia:10396
Change-Id: I0c117ab4d95737b76dec5bce16103b9058218fb8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297065
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-06-22 21:20:20 +00:00
Alan Screen
3cf3d92b56 Allow custom typeface deserializing of picture typefaces.
Serialization of typefaces for SK_PICT_TYPEFACE_TAG already have support
for custom serialization via SkSerialProcs.fTypefaceProc.  This adds the
mirror side of that, to make use of SkDeserialProcs.fTypefaceProc when
it is provided.

Bug: chromium:1044996
Change-Id: I58f7f43e2668d0ca1d0821551f9ca034975ed199
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297617
Reviewed-by: Alan Screen <awscreen@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2020-06-22 19:47:27 +00:00
Stephen White
362db5828f DawnTestContext: print validation errors with SkDebugf.
This helps to diagnose errors in DM tests.

Change-Id: Ib585e6e78c1d0a03493befe970558e6f9c9731a1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298136
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Stephen White <senorblanco@google.com>
2020-06-22 19:27:17 +00:00
Florin Malita
15ee455939 Simplify SkParse::FindNamedColor
Implement using fixed size records and stdlib binary search.

1063 bytes object size increase:

before

   text	   data	    bss	    dec	    hex	filename
   2589	      0	      0	   2589	    a1d	out/Release/obj/src/utils/libskia.SkParseColor.o

after

   text	   data	    bss	    dec	    hex	filename
   2112	   1540	      0	   3652	    e44 out/Release/obj/src/utils/libskia.SkParseColor.o

Bug: oss-fuzz:23595
Change-Id: Ic875345a05ab0916e0873e35bee6727472a2458c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298068
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-06-22 18:47:38 +00:00