Commit Graph

49411 Commits

Author SHA1 Message Date
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
Ben Wagner
b37072556a Mark SkGetThreadID SK_SPI in debug.
Bug: skia:10381
Change-Id: I92feb4a668738d7f9375a6f204c663f1eb1b3a9b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301009
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2020-07-07 21:50:55 +00:00
Jim Van Verth
bb61fe3245 Hoist up submit for resolves
Change-Id: I1ce210d77d586f5c73ee89d1eaaa4490322a977b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301001
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-07-07 21:14:15 +00:00
Brian Osman
cd28fa6f6b Always use Skia's Vulkan headers when compiling particles module
Previously, doing an official build of Skia with Vulkan and particles
enabled would succeed in compiling all of skia.lib, then fail to find
Vulkan headers for two particle .cpp files (that reach GrVkVulkan.h
via SkSL headers).

Bug: skia:10469
Change-Id: Ia5bdb7df25e7259e43cef3e6ff9719a8c8452022
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301002
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-07-07 20:44:34 +00:00
Jim Van Verth
275f419a60 Add D3D support for MSAA
Change-Id: I7f9122bb99fea952a67fa47aaada789037438152
Bug: skia:10476
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300906
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2020-07-07 20:34:15 +00:00
Brian Osman
9cf98dcb49 Remove GrCoordTransform entirely
Bug: skia:10416
Change-Id: I0ca7535a0e6507e6b2a9f4682788826972c5f3b8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300296
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-07-07 20:06:04 +00:00
John Stiles
894ddb001e Add support for an inputFP in SkMixerColorFilter::asFragmentProcessor.
Change-Id: Ib7a0b26568947bc0ec377a6f7f81ddac2c7c2528
Bug: skia:10217
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300649
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2020-07-07 19:42:34 +00:00
Herb Derby
d94e71e69c use SkTInternalLList in SubRun
Change-Id: Ic92f7e3ac87b81e0bf59dd1fe7bd96f3da98dabf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300620
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-07-07 19:39:04 +00:00
John Stiles
b89e52e5f9 Update GrConfigConversionEffect to use an input FP.
In a strange twist, this effect already exposed a required input FP to
external callers, but implemented its behavior using RunInSeries. This
doesn't appear to have imparted any benefit, compared to sampling from
a child FP in the usual way.

Additionally, moved a 100-line test function `GrConfigConversionEffect::
TestForPreservingPMConversions` out of the header and into the CPP.

Change-Id: Ice8c1f1e2cb76177a8a2bf6cfc3e3d163854df64
Bug: skia:10217
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300908
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-07-07 19:20:34 +00:00
Herb Derby
7a1d942eb1 consolidate text op creation
Calculating values for the distance field and bitmap ops were
split in the call stack. Consolidate all the calculations.

Change-Id: I933ca86684bbe8b0b6c58c5781d0d6f9aa39d220
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300617
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-07-07 18:53:40 +00:00
Tyler Denniston
b4d60f807d Fix use of uninitialized value in SkSVGDevice
The asAGradient() function appears to be deprecated
(https://crbug.com/skia/8941) but there's no easy way to remove its use
here at the moment. So, fixing the surface-level issue.

Bug: oss-fuzz:23932
Change-Id: Ia9675f3b31644f2754421f27844e77c43f189c90
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300907
Reviewed-by: Florin Malita <fmalita@chromium.org>
Auto-Submit: Tyler Denniston <tdenniston@google.com>
Commit-Queue: Tyler Denniston <tdenniston@google.com>
2020-07-07 18:49:10 +00:00
Brian Salomon
01d8ad64fe Use GrUniformDataManager in Dawn backend.
Change-Id: Ief5dda99649cef57acd798b0b90f904fa440386d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300899
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-07-07 18:18:55 +00:00
Chris Dalton
476975460d Reland "Return the actual block capacity from GrBufferAllocPool::makeSpaceAtLeast"
This is a reland of d10f080fa8

Original change's description:
> Return the actual block capacity from GrBufferAllocPool::makeSpaceAtLeast
>
> It looks like this was changed to return the fallback size instead of
> the block capacity for the sake of GrTextureOp, but GrTextureOp does
> not call makeSpaceAtLeast() anymore.
>
> For ops that write their vertex data in chunks, it's best to know the
> full capacity of the block. This way they can maximize the amount of
> data written out per chunk.
>
> Bug: skia:10419
> Change-Id: I7d3f74cdfc7d9b89f9d331e09069f8d178c07d81
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300396
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>

TBR=bsalomon@google.com

Bug: skia:10419
Change-Id: Id76b0ef56d9df32545773634a13733739284240c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300877
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-07-07 18:13:51 +00:00
Adlai Holler
e3ad527e3f Add a convenience to downcast contexts into GrDirectContext
This pattern of needing a safe downcast will continue to grow as we
add more explicit use of GrDirectContext and it's causing long ternary
operations that span multiple lines.

Change-Id: I9e2ebe5156e4245524a52d7c92ed3a8509e53151
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300901
Commit-Queue: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Adlai Holler <adlai@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-07-07 18:13:50 +00:00
Florin Malita
c7b49bbb9b [skottie] Fix merge paths <-> paints interaction
Unlike other shape path effects, merge paths disables the rendering of
any preceding paints - it only extracts the merged geometry from the
stack.

Update the shape layer attacher logic to suppress paints under merge
paths.

TBR=
Change-Id: I414134839de9eaa4b0f828d8dc6d4721620242bb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300897
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2020-07-07 17:28:47 +00:00
Florin Malita
cf5e35f721 Use ContextInfo::directContext() in skottie2movie.cpp
TBR=
Change-Id: I3ed43328f84d4172407b40c32f5d331fa3b221d5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300821
Reviewed-by: Florin Malita <fmalita@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Florin Malita <fmalita@chromium.org>
2020-07-07 12:39:22 +00:00
Zepeng Hu
a0f9a3e62a sync with master 2020-07-07 12:23:35 +00:00
Chris Dalton
05da783f87 Revert "Make SkGpuDevice hold a GrRecordingContext"
This reverts commit c8b721b086.

Reason for revert: Looks like it's causing build failures around
MakeRenderTargetContext on the roll.

Original change's description:
> Make SkGpuDevice hold a GrRecordingContext
> 
> 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)
> 
> Change-Id: I69cfa744226c315c25f68fc509b7b59ec38bbf31
> 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>

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

Change-Id: I6a362daf7c40e36ed9f068c5b2d477c16a3f778e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300853
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-07-07 07:23:55 +00:00
Chris Dalton
95dfda4eca Revert "Return the actual block capacity from GrBufferAllocPool::makeSpaceAtLeast"
This reverts commit d10f080fa8.

Reason for revert: Possible failures on roll

Original change's description:
> Return the actual block capacity from GrBufferAllocPool::makeSpaceAtLeast
> 
> It looks like this was changed to return the fallback size instead of
> the block capacity for the sake of GrTextureOp, but GrTextureOp does
> not call makeSpaceAtLeast() anymore.
> 
> For ops that write their vertex data in chunks, it's best to know the
> full capacity of the block. This way they can maximize the amount of
> data written out per chunk.
> 
> Bug: skia:10419
> Change-Id: I7d3f74cdfc7d9b89f9d331e09069f8d178c07d81
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300396
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>

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

Change-Id: Idb315fd68bcb585dcf5017872c0ffb7d0a52214c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10419
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300850
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-07-07 07:17:15 +00:00
skia-recreate-skps
9f57f0ec93 Update Go Deps
Change-Id: Ibcaddba9af73a02ea0d0d37c880d899a5eeb1da5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300836
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-07-07 05:32:52 +00:00
skia-autoroll
5f8e1eea1d Roll Chromium from 2d0c7f09acbd to e6974b0e45b1 (315 revisions)
2d0c7f09ac..e6974b0e45

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 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: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: mtklein@google.com
Change-Id: Ifa3cc222e8442cd732022ed1984ae4ab1d3c0684
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300808
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-07-07 05:16:57 +00:00