Commit Graph

49431 Commits

Author SHA1 Message Date
Robert Phillips
30ebcf730c Remove SkCanvas::getGrContext calls from samplecode
More busywork so we can deprecate getGrContext.

Change-Id: I8479985334881251e6ad814d7855681df716b1da
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301542
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-07-09 18:37:02 +00:00
skia-recreate-skps
5ca99b4402 Update Go Deps
Change-Id: Ibed9d7e9e7d9de230443ca701fc79692f8831b3a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301561
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-07-09 18:24:00 +00:00
Mike Klein
b94d24912f feed forward registers used by jit()
Since we make two jit() passes anyway (mainly for allocation size, with
stack size hinting along for the ride) we might as well feed forward
another hint, which registers we'll use in the program.

We can use this information when targeting the Windows ABI to save only
the callee-saved registers that we actually use.  ARM will benefit too.

The first jit() call always saves all callee-saved registers , making
its code size a conservative estimate for the second jit() that saves
only what's needed.

This leaves some dead stack space reserved for unused registers,
but since it's O(1) and relatively small I don't really care.
I think it's an easy follow-up to tighten it up.

Change-Id: I41e71e6b2baba9c0b60ffdc303c138a54ff50dab
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301534
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-07-09 18:18:40 +00:00
Brian Salomon
d90b3d3133 Remove generic GrFragmentProcessor texture sampling.
Instead GrTextureEffect is a special effect known by
program builders, pipeline states, etc.

Change-Id: I4436d7a10a1c3174fe1f02f136363a1c117f92fb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301357
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-07-09 17:34:20 +00:00
Mike Klein
cd79c4713d tidy up win ABI enter/exit
I've been working on only saving the callee-saved xmm registers we
actually use, and been failing a lot at it, but I think I finally
understand why and have an new approach brewing.

While I get my new approach going, this CL just salvages some of the
enter/exit refactoring from my failed attempts.

It's mostly streamlined comments.  In terms of behavior it switches to
adjusting the stack pointer just once at enter and once at exit, instead
of up to twice each.  This is really just finesse, and not something I'd
expect we'd ever notice.

Change-Id: I701b4c38c797d8f7cf25c84a5dfd201fc73b1f8d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301530
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-07-09 17:24:40 +00:00
Herb Derby
04c8f25317 move insertSubRunOpsIntoTarget into GrRenderTargetContext
Change-Id: I1ba96ac0951aa89a076b9ad1383b5ae172e4266f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301382
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-07-09 17:20:30 +00:00
John Stiles
9e8f484499 Rename 'analytic FPs' to 'analytic elements' throughout the clip system.
Our intent is to report the number of analytic clips that have been
added; the number of fragment processors involved is an implementation
detail. (Hypothetically, an analytic clip might be represented by more
than one FP.)

Change-Id: I17484d7a69cc68b06bbbf87cb1e6fb38d5b2fb5e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301453
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-07-09 16:54:50 +00:00
Michael Ludwig
362245e6ed Remove unused GrTRecorder
Change-Id: I9fa9f8785f48e884cf296a638347003d1687e7c0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301536
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-07-09 16:13:20 +00:00
Jim Van Verth
8e434ae49f Fix GrMeshTest for Direct3D.
We were assuming that there was always a vertex buffer. However,
when doing instanced draws, there's not necessarily one.

Change-Id: I870aa039b5cc552dce2644f40b933de1f62ad80b
Bug: skia:9935
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301449
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2020-07-09 15:38:33 +00:00
John Stiles
c269c2dc4d Clear analytic FPs and clip paths in GrReducedClip::makeEmpty.
Change-Id: I680cd7278d1cc0e3378991e6692098e5ce9e3efd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301447
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2020-07-09 15:28:43 +00:00
John Stiles
c34c6bc09b Count analytic FPs directly.
This may address a memory regression detected by Pinpoint, and is
conceptually more correct. If an analytic FP happened to be implemented
in terms of multiple FPs, naively counting all the child FPs wouldn't
give the right result.

Change-Id: Ia9b76f765db832f063f2730c820ebcdea3f7edb8
Bug: chromium:1097538, chromium:1102804
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301444
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2020-07-09 15:21:23 +00:00
Julia Lavrova
196515cbd7 Line metrics: correct text width
Bug: skia:10439
Change-Id: Ic9ac1b5305fb785aceb12eab9c24d488001a91c7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301377
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2020-07-09 15:03:02 +00:00
Brian Osman
24b8a8cd1a Switch back to mallinfo in SkSL memory benchmark
Early results from measuring RSS (via /proc or similar) shows results
that aren't very accurate or stable. From previous detailed testing, I
know that mallinfo gives a good answer. We only really need results
from ~one machine, so limiting to UNIX bots isn't a big deal.

Change-Id: I73af043720b1204e1da436e2e63b19766a97a9a2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301445
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-07-09 14:42:02 +00:00
Brian Salomon
61a70fb1ec Add GrGLSLFP::ParallelRange to iterate FP and GLSLFP trees
Bug: skia:10139

Change-Id: I379249758160ad096c9e03f25a41b00bc1987518
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301384
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-07-09 14:10:32 +00:00
Robert Phillips
dadc0819e9 Add missing recordingContext override to SkPaintFilterCanvas
This should fix the gpu-specific slides in Viewer.

Change-Id: I3ff069005bfe3639eb9608223b13c64f4c28c396
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301441
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-07-09 13:35:52 +00:00
Jim Van Verth
1bef9793e9 Remove uses of non-inclusive terminology from Ganesh code.
Change-Id: Ice75d0caa7b4beb2d982be094d62b54e71b45045
Bug: chromium:1101491
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301456
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2020-07-09 13:33:02 +00:00
Robert Phillips
16bf7d31c8 Make SkGpuDevice hold a GrRecordingContext (take 2)
This makes the code reflect what is actually going on. During DDL
recording the SkGpuDevice only holds a recording context.

This can't land until the following Chrome-side CL lands:

https://chromium-review.googlesource.com/c/chromium/src/+/2277964 (Add GrContext.h include to skia renderer for upcoming Skia roll)

Reviewed-on: https://skia-review.googlesource.com/c/skia/+/299867
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Adlai Holler <adlai@google.com>
Change-Id: I6ef3896f5a270a4fa7af37f9121f68a66653cce2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300896
2020-07-09 12:28:22 +00:00
skia-autoroll
112a716dde Roll SwiftShader from 28159ee9c8e3 to 76cae97fc14c (5 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/28159ee9c8e3..76cae97fc14c

2020-07-08 amaiorano@google.com Update llvm 10 Darwin config
2020-07-08 amaiorano@google.com Update llvm 10 Linux config
2020-07-08 amaiorano@google.com Enable Kokoro LLVM 10 builds on Windows
2020-07-08 amaiorano@google.com Add llvm-10 configs for Windows
2020-07-08 amaiorano@google.com Copy and modify update.py for LLVM 10

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 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/+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: mtklein@google.com
Change-Id: Ide37a203f70b50b69cc0514f9e42f3519d475ea9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301426
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-07-09 04:42:52 +00:00
skia-autoroll
241134004f Roll ANGLE from 3688cb363ccd to 58afe4cb7a7b (11 revisions)
3688cb363c..58afe4cb7a

2020-07-09 jiajie.hu@intel.com Remove angle_libjpeg_turbo_dir fallback after Chromium side fix
2020-07-08 cnorthrop@google.com Capture/Replay: Fix default uniform array capture
2020-07-08 nguyenmh@google.com Serialize d/s buffers + use color buffers' impl format for readPixels
2020-07-08 jonahr@google.com Skip MultithreadingTest.MultiCreateContext on Ozone
2020-07-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Headers from db06fce926b0 to 2a164e9680a5 (3 revisions)
2020-07-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from e8b96e86fe2e to 3bae90706d26 (2 revisions)
2020-07-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll glslang from f5ed7a69d5d6 to 29c9135d06f1 (3 revisions)
2020-07-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Tools from abc9dff824c3 to 68bfbc219497 (1 revision)
2020-07-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from f6f11215cd93 to 28159ee9c8e3 (1 revision)
2020-07-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from 6a4da9da4215 to 7afbc0c8be3f (3 revisions)
2020-07-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Loader from 4c6019a855e9 to 145050bf2b98 (3 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 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/+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:1103009
Tbr: mtklein@google.com
Test: Test: MEC of NBA2K20
Change-Id: I716524318c4f1907735baea02877868eeae3c91c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301425
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-07-09 04:41:02 +00:00
skia-autoroll
c201c98fbd Roll dawn from 7622be0544b0 to d761d5a5758c (5 revisions)
https://dawn.googlesource.com/dawn.git/+log/7622be0544b0..d761d5a5758c

2020-07-08 enga@chromium.org Add Chromium's StackVector base class and ityp::stack_vec
2020-07-08 cwallez@chromium.org Don't leak buffers if MapAtCreation fails.
2020-07-08 cwallez@chromium.org Fix MSVC compilation.
2020-07-08 tommek@google.com Adding Queue::WriteTexture
2020-07-08 enrico.galli@intel.com D3D12: Added default optimized clear color to resource creation

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dawn-skia-autoroll
Please CC cwallez@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-Debug-Dawn
Bug: None
Tbr: cwallez@google.com
Change-Id: Ic191286054710b2f91627fa3651ef2f12dbeb3f5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301424
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-07-09 04:34:51 +00:00
Ben Wagner
98e0ed78cf PDF without annotations skips structure tree.
The SkPDFDocument::fTagTree::fRoot is set at document creation time.
This root will initially always be discardable, since no annotations
have been made. As a result it does not make sense to assert on it being
non-discardable, since it should be possible to create a PDF which just
happens to have no annotations added to it.

Change-Id: I2fe336c872805b6937f7c8ea275c0cb4d3438682
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301383
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
2020-07-09 00:14:38 +00:00
Brian Osman
68870aa5d1 Add heap usage of SkSL::Compiler to nanobench output
This will let us track a new metric that measures the heap usage of
constructing a default compiler object. I anticipate adding similar
stats about the heap usage from compiling simple vs. complex SkSL.

Change-Id: Idb814c0b5d210d00a06ce5dc7147437aabcba1bb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301359
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-07-09 00:05:28 +00:00
Ben Wagner
6669b01267 Always check AutoFTAccess::face() for nullptr.
For various reasons AutoFTAccess::face() can return nullptr,
particularly in the case of fonts backed more or less by nothing, or by
users who keep plowing on using an SkTypeface which claims not to
actually have any glyphs. Clean up all the callers to do something which
makes sense when nullptr is returned.

Bug: oss-fuzz:23862
Change-Id: Ifa8e2abbd6dc0e4f41857240c4eb95709dfe5178
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301301
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-07-08 21:52:45 +00:00
John Stiles
8c3171f531 Update onMakeColorTypeAndColorSpace to consolidate color processors.
Rather than adding multiple color processors to the GrPaint, we now
use child FPs to compose the desired operation.

Change-Id: Ie4397c2ca75cb1d8a65920756355efd4e274e636
Bug: skia:10217
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301220
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2020-07-08 21:25:35 +00:00
John Stiles
eb7703565a Update SkXfermodeImageFilter to consolidate color processors.
Rather than adding multiple color processors to the GrPaint, we now
use child FPs to compose the desired operation.

Change-Id: I23a66b5c6e69d4ff6ec6f3f158e96da61f7c0cb2
Bug: skia:10217
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301380
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2020-07-08 20:23:35 +00:00
Herb Derby
d576464e76 Combine MakeOp and insertSubRunOpsIntoTarget
Move makeOp functionality into insertSubRunOpsIntoTarget, and remove
makeOp.

Change-Id: Icb02be321314afa56a6dc4947319b41b041a524f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301356
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-07-08 20:19:25 +00:00
Julia Lavrova
1d784c7939 TextStyle::matchOneAttribute compares backgrounds even if they don’t exist
Bug: skia:10432
Change-Id: I7e615de2dad82fc4a978574a4f2458e56a90e93f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301358
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2020-07-08 19:58:55 +00:00
Zepeng Hu
babba97ae6 Use test font manager for SVG fuzzer
Change-Id: Ia4f96278e076d300b432b362db5df6b1a1654f3d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301218
Commit-Queue: Zepeng Hu <zepenghu@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-07-08 19:30:00 +00:00
Herb Derby
afa90369cb don't produce empty SubRuns
Change-Id: Ib2d91afebbf6b7300a5820b25661a33b57996f42
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301304
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-07-08 18:39:57 +00:00
Julia Lavrova
ce6f24d7fd Placeholders coming from flutter can have Inf sizes
Dealing with it for now; should not be allowed in the first place!

Change-Id: I52141d0543d60342c45813d35264c7ee49f1e972
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301298
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2020-07-08 17:55:17 +00:00
Greg Daniel
414418d55f Add option for client to own semaphores after telling to skia to wait.
Bug: chromium:1004772
Change-Id: Ifdad0b12925d13d3e896f6321c35312f9daa330c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301216
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-07-08 16:34:07 +00:00
Herb Derby
4e3ab796c4 use clip as invariant instead of skipClip
Change-Id: Id902b955cb49f7d56776b7002d48162899b5fe7e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301297
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-07-08 16:12:47 +00:00
Robert Phillips
2a4acf328c Remove all internal uses of (and deprecate) SkSurface::getContext
We are replacing GrContext with the GrDirectContext/GrRecordingContext
pair. This starts making that change visible to clients (and weaning
Skia off of GrContext).

Change-Id: I00cc9bf208499984de855a1646229bd7557fc925
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300706
Reviewed-by: Adlai Holler <adlai@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-07-08 16:09:27 +00:00
Herb Derby
bab3dab722 remove unused clipRect for distance field
In the call insertSubRunOpsIntoTarget, the clipRect is always empty
for the distance field case.

Change-Id: Ib17eaae37a153c5b6aa473b2bf31d8b6c985e78f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301257
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-07-08 15:40:07 +00:00
skia-recreate-skps
bf052fa77a Update Go Deps
Change-Id: I28d6b6d619261256e48652bc00ac38fa6ffc50e1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301322
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-07-08 15:37:37 +00:00
Robert Phillips
f0288101b5 Remove SkCanvas::getGrContext calls from benches
This will get us closer to deprecating getGrContext.

The benches have no SkSurface::getContext calls.

TBR=bsalomon@google.com
Change-Id: I6496a6324091a75d2829bd7ee20bdbe0dc3b6fe9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300654
Reviewed-by: Adlai Holler <adlai@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-07-08 14:55:57 +00:00
John Stiles
3c8178b619 Remove deprecated form of asFragmentProcessor method.
The deprecated form of `asFragmentProcessor` that did not take an
inputFP is no longer used and has been removed. The helper method
`colorFilterAcceptsInputFP` which distinguished between the forms
has also been removed.

Change-Id: Ic79198f1a734d3a7c2b0a299bc5d90e3c9b2a57f
Bug: skia:10217
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301019
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-07-08 14:41:57 +00:00
John Stiles
28e1eff6af Add support for an inputFP in SkRuntimeColorFilter::asFragmentProcessor.
Runtime color filters are public API which take a color as in/out.
Changing this would be an API break. To work around this, RunInSeries
is used to invoke the inputFP, then pass its results into the runtime
color filter. This is less than ideal but allows us to preserve the
semantics that RuntimeColorFilter has historically used.

Change-Id: If973ae0f25e7610b7a4df3e4df5080f51293fd90
Bug: skia:10217
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301217
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2020-07-08 14:38:57 +00:00
Nathaniel Nifong
d463a9d4fb [canvaskit] Fix first frame measurement
Change-Id: I4bb7f8550ee1dc73bfdc3e2e8f7138ac0c86e7a9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301296
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Nathaniel Nifong <nifong@google.com>
2020-07-08 14:38:38 +00:00
John Stiles
234592ce5a Add support for an inputFP in SkHighContrast_Filter::asFragmentProcessor
This CL also makes a few minor improvements:
- Fewer calls to codeAppend[f], as each call is relatively expensive.
- Avoid calculating `fmax + fmin` repeatedly while performing RGB->HSL
  conversion.
- Fixes spacing for better readability in shader panel.

Change-Id: I81b902009328765f11f8e18e1cf9edea214a4da7
Bug: skia:10217
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300781
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-07-08 14:30:27 +00:00
Herb Derby
e5b768bb8e loop over SubRuns in GrRenderTargetContext
Change-Id: Ie152ca001be724fe5b86891f4c192813b0bd0edb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301000
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-07-08 14:19:47 +00:00
Florin Malita
cfbb56c6e1 [skottie] Auto-orient fixes
Two issues:

1) For static keyframes (start_value == end_value) AE yields horizontal
   orientation (0 tangent).  We technically have the same logic in
   Skottie, but our value deduplication logic interferes: the two
   consecutive equal values are consolidated, and the result ends up
   holding the spatial lerp info for the next frame => our hold frames
   auto-orient for the beginning of the next keyframe.

   Fix: skip value deduplication when spatial lerp is present.

2) The very last keyframe is always static and holds no spatial info.
   AE retains the orientation of the previous frame, but Skottie yields
   0 tangent.

   Fix: the easiest way to accomplish AE semantics is to detect when
   we're dealing with the last keyframe, and swap with the previous
   keyframe with an adjust weight of 1 (to select the end value).  This
   produces the same lerp result (because keyframed values are always
   contiguous) and also respects the orientation of the prev frame.

TBR=
Change-Id: Id661f7804533e95b747722457489a7ef759572a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301176
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-07-08 13:52:27 +00:00
Jim Van Verth
8bf01945da Replace remainder of HRESULT checks with macro
Change-Id: Ice46fc0bc97d6dc00e707316647d04a3137ef9f4
Bug: skia:9935
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300212
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-07-08 13:37:07 +00:00
skia-autoroll
d3fca6b96d Roll ANGLE from 8b80e852bd6c to 3688cb363ccd (9 revisions)
8b80e852bd..3688cb363c

2020-07-07 nguyenmh@google.com Fix bugs in angle_end2end_tests and frame capture
2020-07-07 jiajie.hu@intel.com Remove a few hardcoded path to libjpeg_turbo
2020-07-07 etienneb@chromium.org Enable the use of chromium worker pool
2020-07-07 etienneb@chromium.org Fix typos in comment
2020-07-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Headers from 8188e3fbbc10 to db06fce926b0 (1 revision)
2020-07-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from 5c38b18ab460 to e8b96e86fe2e (2 revisions)
2020-07-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Loader from a173c025f8fe to 4c6019a855e9 (4 revisions)
2020-07-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from 2c1ff230c26d to 6a4da9da4215 (2 revisions)
2020-07-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 3121585acce2 to f6f11215cd93 (7 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 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/+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:1091259
Tbr: mtklein@google.com
Change-Id: Idbbe638e2480617b5ff832f7ccdc574cac4af164
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301059
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-07-08 12:49:02 +00:00
skia-autoroll
46944a8661 Roll dawn from 92554d75f354 to 7622be0544b0 (6 revisions)
https://dawn.googlesource.com/dawn.git/+log/92554d75f354..7622be0544b0

2020-07-07 bryan.bernhart@intel.com D3D12: Avoid re-binding sampler tables.
2020-07-07 rharrison@chromium.org Roll 6 dependencies
2020-07-07 cwallez@chromium.org Rolling 2 dependencies
2020-07-07 cwallez@chromium.org Implement GPUBufferDescriptor.mappedAtCreation.
2020-07-07 cwallez@chromium.org Roll third_party/swiftshader/ d25ce8725..f6f11215c (155 commits)
2020-07-07 tommek@google.com Rephrasing CopyBufferToTexture validation

Also rolling transitive DEPS:
  https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang from 839704450200 to 29c9135d06f1
  https://chromium.googlesource.com/external/github.com/google/shaderc from f4025c1cd5c2 to 1402ed576596

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dawn-skia-autoroll
Please CC cwallez@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-Debug-Dawn
Bug: None
Tbr: cwallez@google.com
Change-Id: I58192dcda6c5b404f0f3815ce81f5613fca336be
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301058
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-07-08 12:43:58 +00:00
skia-autoroll
d66f19782a Roll SwiftShader from f6f11215cd93 to 28159ee9c8e3 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/f6f11215cd93..28159ee9c8e3

2020-07-07 swiftshader.regress@gmail.com Regres: Update test lists @ f6f11215

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 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/+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: mtklein@google.com
Change-Id: I8f72936122018ab8027588a24cbbe1c122b46e2c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301057
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-07-08 12:43:57 +00:00
Robert Phillips
d5f3c98166 Update DDL test harness to use GrDirectContexts
Before I start updating this to support relocatable DDLs I felt I
should clean it up a bit.

Change-Id: I640d15a40164b33c4c2d7378e37d39fe7d3ff313
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300926
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-07-08 12:33:27 +00:00
Robert Phillips
5a33f21a48 Remove a Chrome staging flag
Chrome no longer requires/uses the SK_LEGACY_MAKEFROMTEXTURE_BEHAVIOR flag

Bug: 1097484
Change-Id: Iddc0382a946565be226a63620f729391388a936a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300925
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-07-08 12:15:57 +00:00
Dominic Mazzoni
473c9f4cd9 Tagged PDF annotations must appear in the Parent Tree as well.
In order for a tagged PDF to validate, each annotation (such as
a hyperlink) must have a /StructParent entry that links back to
the Parent Tree object, which in turn links that annotation to
its corresponding struct tree node.

The parent tree also contains one entry per page. Both the page
entries and the annotation entries need IDs.

Since we don't know in advance how many pages will be in the
doc at the time we start processing annotations, we start the
annotation IDs with a large number (100,000) which effectively
serves as the maximum number of pages in a document that we can
handle.

Bug: chromium:1100712
Change-Id: I5df84c4249ed6a4d21222cfc86b2c0c9b17d6efb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300254
Auto-Submit: Dominic Mazzoni <dmazzoni@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-07-08 00:07:15 +00:00
Nathaniel Nifong
1436d7278c Move frame measurement code into shared location
Change-Id: Ib083773a9f9efbe337daa05146ef85259c0fdc35
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300174
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-07-07 21:53:25 +00:00