Commit Graph

39137 Commits

Author SHA1 Message Date
Chris Dalton
6a3dc8be46 ccpr: Support caching of paths that span multiple tiles
Adds an accumulative "hit rect" for each cache entry that tracks the
region of the path that has been drawn during its lifetime. Now, a
path mask can be cached once the "hit rect" covers 50% of the path.
This allows us to cache a path that spans multiple tiles.

To guard against unnecessarily caching gigantic path masks, we also
require that 10% of the path be visible during the draw when it is
cached.

Bug: skia:8462
Change-Id: Iab2c277102b7a774eaa909c9663211694554c5a5
Reviewed-on: https://skia-review.googlesource.com/c/180700
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-01-07 21:58:28 +00:00
Cary Clark
26d173fee7 fix bookmaker
Illustrations calling SkTextUtils::DrawString must pass font
as well as paint.

TBR=reed@google.com,jcgregorio@google.com

Docs-Preview: https://skia.org/?cl=181562
Bug: skia:
Change-Id: I907c1c69026d3dc40282545b492a790b2349a8a0
Reviewed-on: https://skia-review.googlesource.com/c/181562
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2019-01-07 21:06:29 +00:00
Joe Gregorio
a3efc72e28 Fix extra semicolon.
Bug: skia:
Change-Id: I4e7612515dbbd9a623f29e0d1f97684a5ea93536
Reviewed-on: https://skia-review.googlesource.com/c/181843
Auto-Submit: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2019-01-07 21:00:38 +00:00
skia-autoroll
bf515da22a Roll third_party/externals/swiftshader a4afa24ff909..f6d56f15c09e (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/a4afa24ff909..f6d56f15c09e


git log a4afa24ff909..f6d56f15c09e --date=short --no-merges --format='%ad %ae %s'
2019-01-07 Tom.Tan@microsoft.com Add intrinsics and missing LLVM AsmParser files for Windows ARM64


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

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

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

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

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
TBR=bsalomon@google.com

Change-Id: I781b41496ab9c22c83158a2ac281aed255c63a16
Reviewed-on: https://skia-review.googlesource.com/c/181691
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-01-07 20:53:39 +00:00
skia-autoroll
d0b577fd2b Roll skia/third_party/skcms 8b9d1f9db8a8..d2f489e79366 (1 commits)
https://skia.googlesource.com/skcms.git/+log/8b9d1f9db8a8..d2f489e79366

2019-01-07 mtklein@google.com rewrite skcms_TransferFunction_invert


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

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

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



CQ_INCLUDE_TRYBOTS=luci.chromium.try:linux-blink-rel
TBR=bsalomon@google.com

Change-Id: If6cbe7d36b2076eb5742eb1fb21747724b0d1822
Reviewed-on: https://skia-review.googlesource.com/c/181860
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-01-07 20:24:56 +00:00
recipe-roller
0b3b2e774a Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/1f61472de5efab2217261a2912af7682f0e5c62e [isolated] Allow ability to isolate a given root directory. (joshuaseaton@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Id9eb9fe56b24305df63b007e78c99c00b30e0a7e
Reviewed-on: https://skia-review.googlesource.com/c/181761
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2019-01-07 19:33:24 +00:00
Mike Reed
cb268f6416 document drawSimpleText
Bug: skia:
Change-Id: I9c7135447b5ddcb3eb84581529fc442472e2ceda
Reviewed-on: https://skia-review.googlesource.com/c/181664
Auto-Submit: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-01-07 19:27:22 +00:00
Brian Osman
ded032c4c9 Revert "Support combining per-vertex coverage with color in default GP vertex shader"
This reverts commit 8e13f69262.

Reason for revert: Layout tests still failing.

Original change's description:
> Support combining per-vertex coverage with color in default GP vertex shader
> 
> Leverage this in ops that use tessellation with per-vertex coverage, to
> move the (color * coverage) work into the vertex shader.
> 
> For the tessellating path renderer, color is always uniform, but we were
> sending it per-vertex. Added support to the default GP for routing the
> uniform color to the vertex shader (when there is per-vertex coverage and
> coverage can be folded into alpha). The end result is that we do less work
> on the CPU, and send less data (for incompatible blend modes) or the same
> amount (for compatible blend modes).
> 
> Finally, because color is never sent through a vertex attribute, this
> solves wide color (and avoids the vertex bloat that would have happened
> when using half-floats). For the linearizing convex path renderer, do the
> usual fix for wide color.
> 
> PS6 is the "clean" version of this CL, later versions are guarded to
> rebaseline layout tests.
> 
> Bug: skia:
> Change-Id: I7fa87219177d36db800463d4492b78f2cb14a1c3
> Reviewed-on: https://skia-review.googlesource.com/c/179996
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Jim Van Verth <jvanverth@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

TBR=jvanverth@google.com,bsalomon@google.com,senorblanco@chromium.org,brianosman@google.com,senorblanco@google.com

Change-Id: Idf2b4c4b4d6bb6683bf6293d9e9a5ba097f38289
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/181762
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-01-07 19:14:26 +00:00
Herbert Derby
85ff9570a5 Isolate cache lookups in preparation to hoist into painter
This essentially reverts the CL
https://skia-review.googlesource.com/c/skia/+/180375

at this point combining the strike and glyph cache seems like
the wrong direction.

Change-Id: I66a673469fd12869263a3826d6ec6be622b2b9a1
Reviewed-on: https://skia-review.googlesource.com/c/180777
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-01-07 19:04:06 +00:00
Greg Daniel
3d92a49a5e Add wait function to GrVkSecondaryCBDrawContext for semaphores.
Bug: skia:
Change-Id: Icd4875fa8fa495f9ce02135bc0a8c37608ed09df
Reviewed-on: https://skia-review.googlesource.com/c/181661
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-01-07 18:37:04 +00:00
Mike Reed
023403ba99 hide setTextEncoding
Bug: skia:
Change-Id: Ia9d3acadc1ef8a9b3c175dba501a5324179d27e9
Reviewed-on: https://skia-review.googlesource.com/c/181566
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-01-07 18:34:55 +00:00
Brian Osman
b2fdcbf303 Add SkNamedGamut::kXYZ (ie, the identity matrix)
Sometimes useful when setting up transforms. And we didn't have a simple
way to reference/create an identity skcms_Matrix3x3 yet.

Bug: skia:
Change-Id: Ic35045f38e9c9a75133bf9167f165fcc6790bd69
Reviewed-on: https://skia-review.googlesource.com/c/181662
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-01-07 17:41:23 +00:00
Kevin Lubick
88115891e8 Add canvaskit to the CQ
Bug: skia:
NOTRY: true
Change-Id: I6808af663a427bc5984e2f7e0ef3b06ad684f644
Reviewed-on: https://skia-review.googlesource.com/c/181567
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Kevin Lubick <kjlubick@google.com>
2019-01-07 17:19:33 +00:00
skia-autoroll
f4999a4cea Roll third_party/externals/swiftshader 050698222644..a4afa24ff909 (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/050698222644..a4afa24ff909


git log 050698222644..a4afa24ff909 --date=short --no-merges --format='%ad %ae %s'
2019-01-07 thakis@chromium.org Remove unnecessary ldflags.


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

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

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

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

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
TBR=bsalomon@google.com

Change-Id: I328370199290c82e5207cfae64962c28654b6199
Reviewed-on: https://skia-review.googlesource.com/c/181606
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-01-07 17:03:51 +00:00
Chris Dalton
a13078cc2c ccpr: Convert GrCCDrawPathsOp::SingleDraw to a class
Just some cleanup.

Bug: skia:8462
Change-Id: Iad1d3111690c1db1c36a495b4badbe9edd4b5555
Reviewed-on: https://skia-review.googlesource.com/c/180740
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-01-07 17:02:51 +00:00
Kevin Lubick
da3d8acce5 [canvaskit] Add path/canvas methods
ToCmds/MakePathFromCmds taken from PathKit, as were the tests
for those methods.

Bug: skia:
Change-Id: I9c52c04fe61e8934543a10f84ebf8b01b449f7f4
Reviewed-on: https://skia-review.googlesource.com/c/181565
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-01-07 16:32:57 +00:00
Ethan Nicholas
8d058834a1 Revert "Revert "we now cache GLSL shaders when we can't cache the binaries""
This reverts commit 255f73a276.

Bug: skia:
Change-Id: I87c04ad340ebe107308d384cd91658330493d6ad
Reviewed-on: https://skia-review.googlesource.com/c/181564
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-01-07 16:32:31 +00:00
Mike Reed
1af9b48e47 use drawstring with font
Bug: skia:
Change-Id: I102f424b0f2beaf2ec5bef0fcdc0352f5766f490
Reviewed-on: https://skia-review.googlesource.com/c/181563
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-01-07 16:29:31 +00:00
Chris Dalton
351e80cc28 Reland "ccpr: Rework the path cache to support sporadic flushing"
This is a reland of d6fa45472c

Original change's description:
> ccpr: Rework the path cache to support sporadic flushing
> 
> Removes the notion of a stashed atlas that we store from the previous
> flush. Now we just cache every atlas we ever render. Cached atlases
> can either be 16-bit or 8-bit.
> 
> The "reuse" and "animation" cases should both behave exactly the same
> as before: Where before we would copy from the stashed atlas to 8-bit
> atlases, we now copy from a cached 16-bit atlas and then invalidate
> it. Where before we would recycle the stashed atlas's backing texture
> object, we now recycle this same texture object from an invalidated
> 16-bit cached atlas.
> 
> The main difference is that cases like tiled rendering now work. If
> you draw your whole scene in one flush, you still get one big 16-bit
> cached atlas, just like the "stashed atlas" implementation. But if you
> draw your scene in tiles, you now get lots of little cached 16-bit
> atlases, which can be reused and eventually copied to 8-bit atlases.
> 
> Bug: skia:8462
> Change-Id: Ibae65febb948230aaaf1f1361eef9c8f06ebef18
> Reviewed-on: https://skia-review.googlesource.com/c/179991
> Commit-Queue: Chris Dalton <csmartdalton@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>

Bug: skia:8462
Change-Id: I2f64b0c37e2cd644a202dfc786366dda5d238391
Reviewed-on: https://skia-review.googlesource.com/c/181450
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-01-07 16:14:31 +00:00
Brian Osman
8e13f69262 Support combining per-vertex coverage with color in default GP vertex shader
Leverage this in ops that use tessellation with per-vertex coverage, to
move the (color * coverage) work into the vertex shader.

For the tessellating path renderer, color is always uniform, but we were
sending it per-vertex. Added support to the default GP for routing the
uniform color to the vertex shader (when there is per-vertex coverage and
coverage can be folded into alpha). The end result is that we do less work
on the CPU, and send less data (for incompatible blend modes) or the same
amount (for compatible blend modes).

Finally, because color is never sent through a vertex attribute, this
solves wide color (and avoids the vertex bloat that would have happened
when using half-floats). For the linearizing convex path renderer, do the
usual fix for wide color.

PS6 is the "clean" version of this CL, later versions are guarded to
rebaseline layout tests.

Bug: skia:
Change-Id: I7fa87219177d36db800463d4492b78f2cb14a1c3
Reviewed-on: https://skia-review.googlesource.com/c/179996
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-01-07 16:03:59 +00:00
Brian Salomon
8f40b66afb Run ddl2-vk and ddl2-gl on bots
Change-Id: Id5807bbabe1f9bd762d93f6eb569c0610441bdc5
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/179881
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-01-07 15:39:28 +00:00
Nigel Tao
a676648c3e Update third_party/wuffs version
Wuffs ships as a "single file C library". Previously, that single file
was a .h file. Now it is a .c file.

The contents of the file are practically the same. The different file
name extension means that the build system (GN/ninja) will treat that
file as a .c file, or "something that generates code", and not merely a
.h file, or "something #include'd by things that generate code".

This should hopefully fix mysterious linker errors when updating the
third_party/wuffs checkout results in the builder doing no work, since
no .c files changed.

Bug: skia:8235
Change-Id: I451e251d8cd23f3f0db359bbe03caa429c00fcea
Reviewed-on: https://skia-review.googlesource.com/c/180420
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2019-01-07 15:13:07 +00:00
Mike Reed
46ee3f7a8f return proper false for jpeg
Bug: skia:
Change-Id: I52385a9259545808db540cc31dfded2021b614df
Reviewed-on: https://skia-review.googlesource.com/c/180364
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2019-01-07 15:06:36 +00:00
Mike Reed
c4745d6e51 use drawString with font
Bug: skia:
Change-Id: If193ce2abad59124d24478f24f2bc2fd85ac0d16
Reviewed-on: https://skia-review.googlesource.com/c/181408
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-01-07 15:03:06 +00:00
skia-recreate-skps
a47eb45536 Update go_deps asset
Automatic commit by the UpdateGoDEPS bot.

TBR=borenet@google.com

Change-Id: If9f516119308a8ea348816062e242aae16c61fa4
Reviewed-on: https://skia-review.googlesource.com/c/181538
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-01-07 05:52:34 +00:00
Kevin Lubick
faa73875d2 [*kit] fulfil promise immediately
I think this would only commonly happen for cases which files aren't
being loaded (debug asmjs), but could happen if multiple ready() calls
are made (which is discouraged).

Bug: skia:
Change-Id: If848aad8603f997661502563136ac590cc9a6d5a
Reviewed-on: https://skia-review.googlesource.com/c/181409
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-01-07 03:29:04 +00:00
skia-autoroll
3ac3a4053f Roll third_party/externals/angle2 86b0868d367c..5df1d281a992 (1 commits)
86b0868d36..5df1d281a9


git log 86b0868d367c..5df1d281a992 --date=short --no-merges --format='%ad %ae %s'
2019-01-07 jiajia.qin@intel.com Add std430 support (continue)


Created with:
  gclient setdep -r third_party/externals/angle2@5df1d281a992

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

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

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

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=bsalomon@google.com

Change-Id: I2002a41ea291d4195dfa57957be734d99cc2e43f
Reviewed-on: https://skia-review.googlesource.com/c/181531
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-01-07 03:16:23 +00:00
skia-autoroll
caf4f92412 Roll third_party/externals/angle2 f75e654d1966..86b0868d367c (1 commits)
f75e654d19..86b0868d36


git log f75e654d1966..86b0868d367c --date=short --no-merges --format='%ad %ae %s'
2019-01-06 fjhenigman@chromium.org Enable RenderingProgramFailsWithProgramInstalled.


Created with:
  gclient setdep -r third_party/externals/angle2@86b0868d367c

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

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

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

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=bsalomon@google.com

Change-Id: Id4c6ce4268c472275ad3b87435047dab2c056684
Reviewed-on: https://skia-review.googlesource.com/c/181526
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-01-06 17:22:35 +00:00
skia-recreate-skps
41a5eaca8b Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I27cd43ca0046d17ff2ce2fea63e1bbce32d363a6
Reviewed-on: https://skia-review.googlesource.com/c/181522
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-01-06 08:45:53 +00:00
skia-recreate-skps
d6f349750b Update go_deps asset
Automatic commit by the UpdateGoDEPS bot.

TBR=borenet@google.com

Change-Id: I411eae202cdcdc7864ae5d8fac3bc22293d6fdc7
Reviewed-on: https://skia-review.googlesource.com/c/181497
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-01-06 06:06:27 +00:00
skia-autoroll
e9d28bdbe5 Roll third_party/externals/angle2 dbc605cecc64..f75e654d1966 (1 commits)
dbc605cecc..f75e654d19


git log dbc605cecc64..f75e654d1966 --date=short --no-merges --format='%ad %ae %s'
2019-01-06 jmadill@chromium.org Add DrawElements on WGL perf test.


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

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

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

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

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=bsalomon@google.com

Change-Id: I47431ebff6ca01eeb4ca413db6dc266a14f12241
Reviewed-on: https://skia-review.googlesource.com/c/181493
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-01-06 04:41:53 +00:00
Mike Reed
4de2f1fead add drawString to ease the pain of converting to skfont
Bug: skia:
Change-Id: I88418f87883b66204427fbdab471e74c78835ac4
Reviewed-on: https://skia-review.googlesource.com/c/181407
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-01-05 22:04:34 +00:00
Brian Osman
82ebe04caf Reland "Add SkColorSpace factory from 3x3 row-major gamut and transfer function"
Moved named common transfer functions and gamuts to constexpr values in
SkColorSpace.h, in SkNamedTransferFn and SkNamedGamut namespaces.

Converted nearly all SkColorSpace::MakeRGB calls within Skia to use the
new factory with the named values. Multiple clients want a way to
extract named transfer function and gamut - this still doesn't provide
that, but this may be a better path forward for honestly advertising how
SkColorSpace works internally.

Originally landed as:
https://skia.googlesource.com/skia/+/a9549ab31630fc244094e6f1692371cbaf87f666

Re-landing with a new serialization format, but maintaining ability to
load old serialized color spaces, for SKP compatibility.

Bug: skia:
Change-Id: Ib84a6e1cd5d7d9816175773fdbaff2ca32658667
Reviewed-on: https://skia-review.googlesource.com/c/181176
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-01-05 20:06:51 +00:00
skia-autoroll
b282e1f622 Roll third_party/externals/angle2 9db8df4c3e6e..dbc605cecc64 (2 commits)
9db8df4c3e..dbc605cecc


git log 9db8df4c3e6e..dbc605cecc64 --date=short --no-merges --format='%ad %ae %s'
2019-01-05 jmadill@chromium.org Vulkan: Optimize VBO state changes.
2019-01-05 jmadill@chromium.org Pass GN header visibility check.


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

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

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

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

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=bungeman@google.com

Change-Id: I900e2b169742de87ad73d232da56ace051820bd9
Reviewed-on: https://skia-review.googlesource.com/c/181483
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-01-05 08:16:28 +00:00
skia-recreate-skps
125f767901 Update go_deps asset
Automatic commit by the UpdateGoDEPS bot.

TBR=borenet@google.com

Change-Id: If62d676668794c528b2ad98da3d71ad6e8922f52
Reviewed-on: https://skia-review.googlesource.com/c/181458
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-01-05 06:15:23 +00:00
recipe-roller
5e710e13a5 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/c1b615b6808b8aa8001b5e4e1d5d234233ad8266 [buildbucket] Add set_output_gitiles_commit (nodir@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Id8bb2e295014770bc0f782a33cfceeb5fbd61a81
Reviewed-on: https://skia-review.googlesource.com/c/181406
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2019-01-05 00:15:59 +00:00
skia-autoroll
3d5b488e5c Roll third_party/externals/angle2 e4109f27136d..9db8df4c3e6e (1 commits)
e4109f2713..9db8df4c3e


git log e4109f27136d..9db8df4c3e6e --date=short --no-merges --format='%ad %ae %s'
2019-01-04 thakis@chromium.org Slightly simplify .def file use.


Created with:
  gclient setdep -r third_party/externals/angle2@9db8df4c3e6e

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

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

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

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=bungeman@google.com

Change-Id: Ib7b6a4b0cee708614dbcecad053360fd9b660806
Reviewed-on: https://skia-review.googlesource.com/c/181371
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-01-04 23:30:06 +00:00
Herbert Derby
86dbae9c1b Separate cache lookup from run font setup
Seperate concerns so that cache lookup and run setup are different code.
This will allow the common code in painter to do the caache lookup.

Change-Id: I30a208ebc715c07f5720a7a8fc8240aabfda869d
Reviewed-on: https://skia-review.googlesource.com/c/180928
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-01-04 22:22:22 +00:00
Chris Dalton
2e825a3c5d Revert "ccpr: Rework the path cache to support sporadic flushing"
This reverts commit d6fa45472c.

Reason for revert: Assertion failures

Original change's description:
> ccpr: Rework the path cache to support sporadic flushing
> 
> Removes the notion of a stashed atlas that we store from the previous
> flush. Now we just cache every atlas we ever render. Cached atlases
> can either be 16-bit or 8-bit.
> 
> The "reuse" and "animation" cases should both behave exactly the same
> as before: Where before we would copy from the stashed atlas to 8-bit
> atlases, we now copy from a cached 16-bit atlas and then invalidate
> it. Where before we would recycle the stashed atlas's backing texture
> object, we now recycle this same texture object from an invalidated
> 16-bit cached atlas.
> 
> The main difference is that cases like tiled rendering now work. If
> you draw your whole scene in one flush, you still get one big 16-bit
> cached atlas, just like the "stashed atlas" implementation. But if you
> draw your scene in tiles, you now get lots of little cached 16-bit
> atlases, which can be reused and eventually copied to 8-bit atlases.
> 
> Bug: skia:8462
> Change-Id: Ibae65febb948230aaaf1f1361eef9c8f06ebef18
> Reviewed-on: https://skia-review.googlesource.com/c/179991
> Commit-Queue: Chris Dalton <csmartdalton@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>

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

Change-Id: Iad74a14fcb09da12f32b9b78f803b8472a5d60ae
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:8462
Reviewed-on: https://skia-review.googlesource.com/c/181444
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-01-04 22:14:31 +00:00
Mike Reed
d5cdc2cd4d paint is losing its text-related fields
Bug: skia:
Change-Id: I187c290f30259564e8ff396b54070ca305da3954
Reviewed-on: https://skia-review.googlesource.com/c/181400
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-01-04 21:54:49 +00:00
recipe-roller
8061ba8570 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/390028fd6b766523bd7bb06b62e1ca92161467cc Do not validate deleted configs (nodir@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I7b102b3d1c0b862a38baeb695a1baa6093bd8816
Reviewed-on: https://skia-review.googlesource.com/c/181402
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2019-01-04 21:27:19 +00:00
Ben Wagner
b73cb3f98e Add IntelIris655 Win10 jobs.
Bug: skia:8587, skia:8659
Change-Id: I6dfe3635db264fc46d23daf662a87b98ed07066f
Reviewed-on: https://skia-review.googlesource.com/c/173082
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-01-04 21:24:59 +00:00
Kevin Lubick
d2efe524af [pathkit] Increase test timeouts (for asmjs mostly)
Bug: skia:
Change-Id: Ia84b2eda24b43b858c3f95d860c3f9b6a880bc90
Reviewed-on: https://skia-review.googlesource.com/c/181401
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-01-04 20:59:36 +00:00
Chris Dalton
d6fa45472c ccpr: Rework the path cache to support sporadic flushing
Removes the notion of a stashed atlas that we store from the previous
flush. Now we just cache every atlas we ever render. Cached atlases
can either be 16-bit or 8-bit.

The "reuse" and "animation" cases should both behave exactly the same
as before: Where before we would copy from the stashed atlas to 8-bit
atlases, we now copy from a cached 16-bit atlas and then invalidate
it. Where before we would recycle the stashed atlas's backing texture
object, we now recycle this same texture object from an invalidated
16-bit cached atlas.

The main difference is that cases like tiled rendering now work. If
you draw your whole scene in one flush, you still get one big 16-bit
cached atlas, just like the "stashed atlas" implementation. But if you
draw your scene in tiles, you now get lots of little cached 16-bit
atlases, which can be reused and eventually copied to 8-bit atlases.

Bug: skia:8462
Change-Id: Ibae65febb948230aaaf1f1361eef9c8f06ebef18
Reviewed-on: https://skia-review.googlesource.com/c/179991
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-01-04 20:51:09 +00:00
Florin Malita
5809a4e2c3 [skjson] NaN while parsing long decimals
When parsing numbers with long decimals, the fast-path decimal factor
may collapse to zero.  Catch this condition (and defer to the slow parse
path).

Bug: skia:8499
Change-Id: I4e364402aecdcca9558d027a55ff297170e2a195
Reviewed-on: https://skia-review.googlesource.com/c/181179
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-01-04 20:41:27 +00:00
Kevin Lubick
275eaff3be [pathkit] Add .ready() to initialize
See https://github.com/kripken/emscripten/issues/5820 and
https://skia-review.googlesource.com/c/skia/+/181177 for more context.

(Problem was discovered in CanvasKit, and this ports the same fix to
PathKit).

Bug: skia:
Change-Id: Ic8b2fb399210631a571595a5b3d11d1736c00def
Reviewed-on: https://skia-review.googlesource.com/c/181178
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2019-01-04 19:58:22 +00:00
Ethan Nicholas
5a0338c133 Fixed GL shader link status checks
Bug: skia:8585
Change-Id: Ic6f35583ac27a70b328dfc93636501fcc749b8c4
Reviewed-on: https://skia-review.googlesource.com/c/180372
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-01-04 19:49:37 +00:00
Kevin Lubick
65846c04e0 [canvaskit] Add .ready() which is a real promise
Prior to this, CanvasKit was unintentionally a thenable, which means if
it was used to resolve a Promise, certain logic would be called which
would put it into an infinite loop. By adding a .ready() which returns
a proper Promise and removes the .then(), this should make the CanvasKit
libary safer.

For now, the .then() still exists unless .ready() is called. .then will
be removed unconditionally in 0.4.0 which will be out after all known
clients (e.g. jsfiddle.skia.org) are changed.

See: https://github.com/kripken/emscripten/issues/5820

Bug: skia:
Change-Id: Ie4093f6b0ce03070ef737941693b06dfff93f61c
Reviewed-on: https://skia-review.googlesource.com/c/181177
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2019-01-04 19:48:19 +00:00
Mike Reed
74b767777c change paint serialization to exclude font-related fields
This is slightly preemptive, since paint still has getters/setters for
these fields, but skia no longer looks at them, so...

Reduces serial size by 20-bytes + size of a typeface

Bug: skia:2664
Change-Id: If1997c823db5b3d83b04cb7e1bc1d6787795b70a
Reviewed-on: https://skia-review.googlesource.com/c/181174
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2019-01-04 19:35:37 +00:00
Herbert Derby
dde2a376f7 Update SkDescriptor
* add reset(const SkDescriptor&) to SkAutoDescriptor
* move impl to .cpp
* general updating of code

Change-Id: Id224d73456576927f78b4ba3afecc759c1fe3a1b
Reviewed-on: https://skia-review.googlesource.com/c/181175
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-01-04 19:24:06 +00:00