Commit Graph

36859 Commits

Author SHA1 Message Date
Brian Osman
d29dcd1ae6 Add fallback path for drawing unsupported bitmap configs
Just converts to RGBA_8888 before uploading.

Bug: skia:8375
Change-Id: I7e323da51debb4950c17049ed3b4822a202cba73
Reviewed-on: https://skia-review.googlesource.com/154180
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-09-13 21:02:16 +00:00
Brian Osman
0ab568463b For Windows-Clang-Debug, use -fstandalone-debug to get better debug info
Without this, debug clang builds on windows have very little debug info.
Fix is based on Chromium's handling of this (they have several tactics,
depending on linker, etc...)

https://cs.chromium.org/chromium/src/build/config/compiler/BUILD.gn?l=2194

Change-Id: Ib1b3aa4cdf4e2daa762d994bea94dc3c691cf359
Reviewed-on: https://skia-review.googlesource.com/154540
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-09-13 20:07:58 +00:00
Michael Ludwig
8f685085af Implement 2-pt conical gradient layout
Add an FP that provides the two-point conical gradient effect. The
majority of the new FP's shader code is a straight forward port from
SkTwoPointConicalGradient_gpu.cpp. This FP is bulkier because of the
extensive calculations that go on in its overridden Make function.

To support 2-pt conical gradient's behavior of writing transparent
black in invalid areas of the conical interpolation, the contract of
gradient layout FPs has been updated to provide a flag in the y
component as to whether or not the fragment should be rejected.

A separate channel was used since negative values and large values are
perfectly reasonable for the untiled gradient layout to return (before
the value is then constrained into [0, 1]). It also seemed better to
avoid returning a problematic value like infinity or NaN.

Bug: skia:
Change-Id: I37373bb5aebd89cac8905602e699ad19f0f5ac82
Reviewed-on: https://skia-review.googlesource.com/148988
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-09-13 20:04:16 +00:00
skia-autoroll
6d1c074073 Roll third_party/externals/swiftshader fcedef476ef1..52551d1cd8b6 (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/fcedef476ef1..52551d1cd8b6


git log fcedef476ef1..52551d1cd8b6 --date=short --no-merges --format='%ad %ae %s'
2018-09-13 capn@google.com Work around stack probe issue.


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

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=caryclark@google.com

Change-Id: I444667ad7fa42c6128fae232f931b4537dab5f0c
Reviewed-on: https://skia-review.googlesource.com/154520
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-09-13 19:54:56 +00:00
Cary Clark
9548ea9d6c fix bookmaker
match docs for SkImage::MakeFromAHardwareBuffer
with include.

TBR=stani@google.com
NOTRY=true
Docs-Preview: https://skia.org/?cl=154503
Bug: skia:6898
Change-Id: Ia0c6d12c1f0d131b3d46e9c1168012613a96d81b
Reviewed-on: https://skia-review.googlesource.com/154503
Commit-Queue: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-09-13 19:31:27 +00:00
Cary Clark
9bb34b74f3 update generated includes
This fixes all comments in generated includes
to fit in 100 columns.

TBR=reed@google.com

Bug: skia:6898
Change-Id: I6d28a24d4e2d079e4a9284d4b2a25326dc5f2dc6
Reviewed-on: https://skia-review.googlesource.com/154440
Commit-Queue: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-09-13 19:03:00 +00:00
Mike Klein
30cac1ecff pin in Sk4f_toL32()
It's looking too hairy to make SkNx_cast() itself pin.

There will be more of these that I'll have to work
through as they come up, hopefully by funneling them
through to this function.

Change-Id: I534e2dc612f30f2ea9692fd6b466ba59692ef4e2
Reviewed-on: https://skia-review.googlesource.com/154400
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-09-13 19:02:01 +00:00
Michael Ludwig
24d438b393 Implement sweep gradient layout
Add an FP that implements the sweep gradient effect and updates
SkSweepGradient to use the new system if possible.

Bug: skia:
Change-Id: I3f65da01afafae54c45848a6a78fd758f65eb4a6
Reviewed-on: https://skia-review.googlesource.com/148806
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-09-13 18:45:26 +00:00
Stan Iliev
505dd57406 Add GrSurfaceOrigin to MakeFromAHardwareBuffer
Add support for kBottomLeft_GrSurfaceOrigin origin for SkImage
backed by an Android hardware buffer.

Bug: b/115610873
Change-Id: I8ba142007ee01c3fc2fd48317b29388d07a7b6e0
Reviewed-on: https://skia-review.googlesource.com/154301
Commit-Queue: Stan Iliev <stani@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-09-13 18:43:25 +00:00
Brian Osman
bc6b9cb6ac Cleanup mip-mapped proxy creation slightly
Re-land of portions of https://skia-review.googlesource.com/c/skia/+/154080,
without deferring the mipmap construction.

Bug: skia:8375
Change-Id: Ie0b1468839418032fa882f08c5d9a16de97ac38a
Reviewed-on: https://skia-review.googlesource.com/154305
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-09-13 18:05:25 +00:00
Brian Osman
1b97f13904 Revert "Defer mip-mapping until lazy proxy instantiation"
This reverts commit 475819cab7.

Reason for revert: No, let's not defer.

Original change's description:
> Defer mip-mapping until lazy proxy instantiation
> 
> - Remove some checks for truly impossible failures (levelCount < 0)
> - Use helper method to predict number of mips, then verify correct
>   results in the lambda.
> - Split up SkMipMap::Build with a CanBuild helper, so GPU code can
>   predict success/failure accurately.
> - This is going to simplify the case where we need to change the
>   config for unsupported formats.
> 
> Bug: skia:8375
> Change-Id: Ied523ab55c38b8c8e7e2ae983744ed400497939b
> Reviewed-on: https://skia-review.googlesource.com/154080
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>

TBR=bsalomon@google.com,robertphillips@google.com,brianosman@google.com,reed@google.com

Change-Id: I04dbc458103f7bb5a7c28da28b0256d7a2b8b3d3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:8375
Reviewed-on: https://skia-review.googlesource.com/154304
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-09-13 17:33:52 +00:00
Michael Ludwig
4089df8690 Implement radial gradient layout
Adds a radial gradient FP in the same vein as the prior linear gradient
FP. It updates SkRadialGradient to try and use the new system before
falling back to the original GPU gradient code.

Bug: skia:
Change-Id: I0739832beeae18d0a7178ada44014d7885478031
Reviewed-on: https://skia-review.googlesource.com/148803
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-09-13 16:58:25 +00:00
Cary Clark
2be81cf973 Condense embedded formulas.
Bookmaker delimits formulas and equations to allow
representing variables and symbols without tripping
up reference lookup, spell checking, and comment
generation.

Before, formulas were represented with:
some text
#Formula
(x + y, 0)
##
, and more text

This made it difficult to know when spacing should
be preserved before and after the formula. Now,
formulas are represented with:
some text #Formula # (x + y, 0) ##, and more text

The presence or absence of a space between ## and ,
is now significant (before it was not).

Also, formulas are bracketed by <code> in markdown
generation, so that variables stand out better.
See:
https://skia.org/user/api/SkBlendMode_Reference?cl=152781#Dst_Out
for an example.

Also fixed 100 column offenders and added a code
check to identify them. For the moment, 100 column
offenders are outed with SkDebugf but their presence
does not cause bookmaker to fail.

TBR=caryclark@google.com

Docs-Preview: https://skia.org/?cl=152781
Bug: skia:6898
Change-Id: If92a65a234f5d616bf4485984a8d219a6f04821a
Reviewed-on: https://skia-review.googlesource.com/152781
Commit-Queue: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-09-13 16:50:25 +00:00
Cary Clark
dcec329d3b fix 100 column violators in generated includes
Several generated includes include code that exceeds the 100 column
limit. Fix the code that exceeds 100 columns here.
In a later CL, bookmaker will fix the comments that
exceed 100 columns.

TBR=reed@google.com

Bug: skia:6898
Change-Id: I8b44b01675e99c5750f3c89689f29bb709203ec2
Reviewed-on: https://skia-review.googlesource.com/154303
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
2018-09-13 16:00:54 +00:00
Mike Klein
ae4b1f484c encode F16/F32 .pngs as Rec2020
This lets us see more of the range of configs like esrgb.

Change-Id: Id8fe3d6d7545b139d905e4a0e587228c85159043
Reviewed-on: https://skia-review.googlesource.com/154380
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-09-13 15:43:02 +00:00
Herb Derby
1a0f189049 Change fallback for path glyphs to bulk api
This is a different approach to handling fallback, but it
ultimately simplifies handling fallback. If this works out,
the remote code will not have to use the GPU's fallback code.

Change-Id: I20b159f224771a4b900055ad33ae625f0cf210a4
Reviewed-on: https://skia-review.googlesource.com/154121
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-09-13 15:31:19 +00:00
Mike Reed
5152c4acfb Reland "remove SK_SUPPORT_LEGACY_TYPEFACE_MAKEFROMSTREAM"
This reverts commit b8e125281d.

Reason for revert: flutter has landed in fuchsia

Original change's description:
> Revert "remove SK_SUPPORT_LEGACY_TYPEFACE_MAKEFROMSTREAM"
> 
> This reverts commit 558fabb31c.
> 
> Reason for revert: flutter hasnt rolled into fuschia so this breaks fuschia
> 
> Original change's description:
> > remove SK_SUPPORT_LEGACY_TYPEFACE_MAKEFROMSTREAM
> > 
> > ... now that Brian updated Flutter's callsites
> > 
> > Bug: skia:8350
> > Change-Id: I5ae72700125e09d84392eee8045c9602f718909a
> > Reviewed-on: https://skia-review.googlesource.com/153901
> > Reviewed-by: Brian Osman <brianosman@google.com>
> > Commit-Queue: Brian Osman <brianosman@google.com>
> > Auto-Submit: Mike Reed <reed@google.com>
> 
> TBR=brianosman@google.com,reed@google.com
> 
> Change-Id: I263e3c7694895ac85dc71a785832e7fb89dc81de
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:8350
> Reviewed-on: https://skia-review.googlesource.com/154081
> Reviewed-by: Cary Clark <caryclark@skia.org>
> Commit-Queue: Cary Clark <caryclark@skia.org>

TBR=brianosman@google.com,reed@google.com,caryclark@skia.org

Change-Id: Iabf3c78c883275c0256b31bcde87d4cdc8eecbec
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:8350
Reviewed-on: https://skia-review.googlesource.com/154302
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-09-13 15:19:09 +00:00
Herb Derby
96519f2835 Centralize the max glyph dimension
Over several refactorings the max glyph dimension has become
a constant. Simplify the code by removing variables that can
only be constant.

Change-Id: I65800a5ec1dfd4de5337f2f37348bd0eb101cc3e
Reviewed-on: https://skia-review.googlesource.com/154123
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-09-13 15:08:31 +00:00
skia-autoroll
03d46695fd Roll third_party/externals/angle2 44286dc870e3..daab00149ee5 (1 commits)
44286dc870..daab00149e


git log 44286dc870e3..daab00149ee5 --date=short --no-merges --format='%ad %ae %s'
2018-09-13 oetuaho@nvidia.com Test and fix robust resource init for multisampled textures


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

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=caryclark@google.com

Change-Id: I804b1c81c3efd38b02a2e9488059b4c2e9a1a3b3
Reviewed-on: https://skia-review.googlesource.com/154360
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-09-13 14:55:04 +00:00
Stephan Altmueller
d2916264aa [infra] Add pubsub emulator to gcloud asset
Bug: skia:
Change-Id: I41d45b2577104d5a172cf06e5241c4a33e6d8e19
Reviewed-on: https://skia-review.googlesource.com/154181
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Stephan Altmueller <stephana@google.com>
2018-09-13 14:27:19 +00:00
Brian Osman
475819cab7 Defer mip-mapping until lazy proxy instantiation
- Remove some checks for truly impossible failures (levelCount < 0)
- Use helper method to predict number of mips, then verify correct
  results in the lambda.
- Split up SkMipMap::Build with a CanBuild helper, so GPU code can
  predict success/failure accurately.
- This is going to simplify the case where we need to change the
  config for unsupported formats.

Bug: skia:8375
Change-Id: Ied523ab55c38b8c8e7e2ae983744ed400497939b
Reviewed-on: https://skia-review.googlesource.com/154080
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2018-09-13 14:01:17 +00:00
Mike Klein
5e31ec6045 add a linear gradient to P3 gm
I've tweaked the indicators into overlays so there can be one for each
pixel sampled.  This lets me test both gradient corners.

I've dropped displaying the P3 value... not sure if it's as useful as
the other two, and I'm worried about information overload.  There's
already a lot to look at.

Change-Id: I57a41c3af0162e8132e50c47a0b967714a57e9e5
Reviewed-on: https://skia-review.googlesource.com/154220
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
2018-09-13 13:30:22 +00:00
Robert Phillips
8051d38358 Fix SkPath::reverseAddPath and fuzzing of SkPath enums
Bug: 882423
Change-Id: I2be2863574a5951b86e4d5e213094efee6081098
Reviewed-on: https://skia-review.googlesource.com/154300
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-09-13 13:10:33 +00:00
Greg Daniel
637c06aec7 Add Vulkan support to GrAHardwareBufferImageGenerator
Bug: skia:
Change-Id: I37b08f336919fdac77fcd2726f129425bf8f4f2b
Reviewed-on: https://skia-review.googlesource.com/150132
Reviewed-by: Stan Iliev <stani@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-09-13 12:54:53 +00:00
angle-skia-autoroll
46a5f6c28a Roll third_party/externals/angle2 85d8ee8c1fbf..44286dc870e3 (4 commits)
85d8ee8c1f..44286dc870


git log 85d8ee8c1fbf..44286dc870e3 --date=short --no-merges --format='%ad %ae %s'
2018-09-13 jmadill@chromium.org Allow an extra slot in PackedEnumMap.
2018-09-13 jmadill@chromium.org Vulkan: Implement cube map render targets.
2018-09-12 fjhenigman@chromium.org Disable some deqp depth stencil on Android vulkan.
2018-09-12 oetuaho@nvidia.com Support multisample array textures on D3D11


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

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=caryclark@google.com

Change-Id: I671c0f6bf4d2d390b434c26a40abf43e0e041245
Reviewed-on: https://skia-review.googlesource.com/154240
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-09-13 06:00:24 +00:00
swiftshader-skia-autoroll
76bba35cba Roll third_party/externals/swiftshader d7a21ccd41ce..fcedef476ef1 (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/d7a21ccd41ce..fcedef476ef1


git log d7a21ccd41ce..fcedef476ef1 --date=short --no-merges --format='%ad %ae %s'
2018-09-12 shannonwoods@google.com Updated issue tracker URL


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

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=caryclark@google.com

Change-Id: I75548416a2e74f9bfddb9dbf416dffc5874edc6c
Reviewed-on: https://skia-review.googlesource.com/154143
Reviewed-by: swiftshader-skia-autoroll <swiftshader-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: swiftshader-skia-autoroll <swiftshader-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-09-13 00:30:04 +00:00
Chris Dalton
82de18fb35 ccpr: Skip extremely wide strokes
Instead let them be converted to fill paths and drawn by the CCPR filler.

Bug: skia:8360
Change-Id: Ide3e1cc65e2cf103f2eee9854a1a444fe69ba7fd
Reviewed-on: https://skia-review.googlesource.com/153726
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2018-09-13 00:03:29 +00:00
Mike Klein
34e5e1b387 switch Skia to explicit big-endian 16-bit skcms type
Change-Id: I1f3fd1d267631b2360da0054ba76b3aaffcec01b
Reviewed-on: https://skia-review.googlesource.com/154122
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-09-12 22:08:33 +00:00
Hal Canary
e650b85981 SkPDF: SkPDFMakeArray; clean up pdfutils, pdfresourcedict
New templated function SkPDFMakeArray that for example replaced this
code:

    auto array = sk_make_sp<SkPDFArray>();
    array->reserve(4);
    array->appendInt(0);
    array->appendInt(0);
    array->appendInt(width);
    array->appendInt(height);

with this code:

    auto array = SkPDFMakeArray(0, 0, width, height);

Move some functions from SkPDFUtils to the only place they
are used and make them static: SkPDFUtils::AppendTransform,
SkPDFUtils::DrawFormXObject, SkPDFUtils::WriteString, and
SkPDFUtils::AppendCubic.

Also replaced SkPDFResourceDict::getResourceName with
SkPDFResourceDict::WriteResourceName and eliminated
SkPDFResourceDict::GetResourceTypePrefix.

Change-Id: I891339fa2d1e5819f22fb8d10d8d8ef75c9507e3
Reviewed-on: https://skia-review.googlesource.com/153884
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2018-09-12 21:41:35 +00:00
angle-skia-autoroll
700f53651f Roll third_party/externals/angle2 8370e6bcb369..85d8ee8c1fbf (2 commits)
8370e6bcb3..85d8ee8c1f


git log 8370e6bcb369..85d8ee8c1fbf --date=short --no-merges --format='%ad %ae %s'
2018-09-12 ynovikov@chromium.org Revert "DEPS: Remove the need for angle_root."
2018-09-12 fjhenigman@chromium.org Vulkan: add S8_UINT texture fallbacks.


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

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=caryclark@google.com

Change-Id: I3704865ad90ca6103ba9f93a0b75b0cb2db8e583
Reviewed-on: https://skia-review.googlesource.com/154142
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-09-12 21:00:00 +00:00
skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
69bcd16f53 Roll skia/third_party/skcms 710aa46f904e..b9dc92669da2 (1 commits)
https://skia.googlesource.com/skcms.git/+log/710aa46f904e..b9dc92669da2

2018-09-12 mtklein@google.com add little-endian 16-bit support


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=master.tryserver.blink:linux_trusty_blink_rel
TBR=caryclark@google.com

Change-Id: Ie88e77be7337669eb79799fb414791ccfb9bee1f
Reviewed-on: https://skia-review.googlesource.com/154078
Commit-Queue: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Reviewed-by: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-09-12 20:59:40 +00:00
skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
167e1ea5bc Roll skia/third_party/skcms 52df767ea52b..710aa46f904e (1 commits)
https://skia.googlesource.com/skcms.git/+log/52df767ea52b..710aa46f904e

2018-09-12 mtklein@google.com fix broken test


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=master.tryserver.blink:linux_trusty_blink_rel
TBR=caryclark@google.com

Change-Id: I470a32907291f2d5c929a6a0fd16af9f7000e7d2
Reviewed-on: https://skia-review.googlesource.com/154075
Reviewed-by: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-09-12 20:26:21 +00:00
Michael Ludwig
4f94ef6cbd Reland "Base Gradient FP Refactor"
This reverts commit 1ea5656a28.

Reason for revert: Fixed google3 build failure

Original change's description:
> Revert "Base Gradient FP Refactor"
> 
> This reverts commit 10f7a1e075.
> 
> Reason for revert: broke google3 roll
> Original change's description:
> > Base Gradient FP Refactor
> > 
> > --
> > 
> > Redefines how gradients will be written in the GPU back-end:
> > 
> > They are split into three fragment processor components: master, layout, and colorizer.
> > The layout FP is responsible for converting the fragment position into an interpolant value, t.
> > Each high-level gradient--such as linear, radial, etc.--are implemented solely in a layout FP.
> > The colorizer FP is responsible for converting t into a color.
> > The master FP invokes the layout, clamps t into the proper domain, and then invokes the colorizer.
> > GrGradientShader provides factory functions to create FP graphs from SkGradientShader instances.
> > This pattern is documented in gpu/gradients/README.md.
> > 
> > Goals for current CL
> > ====================
> > 
> > Outline the FP components by providing .fp implementations for the simplest gradients.
> > Defines a two-color single interval colorizer and a linear gradient layout, and the master effect.
> > A MakeLinear() factory function is provided that can convert SkGradientShaders that fit these constraints.
> > SkLinearGradient first attempts to use the new system, falling back to the original GrGradientEffect.
> > 
> > Future CLs
> > ==========
> > 
> > To keep the CL reviews manageable, additional dependent CLs will be added that gradually replace past functionality.
> > A CL for each layout will be defined.
> > CLs for the different analytic colorizer cases and the textured gradient case will be defined.
> > Once the new system supports all current layouts and colorizer capabilities, all old GPU gradient code will be removed.
> > After this clean-up, analytic colorization can hopefully be expanded to reduce the usage of textured gradients.
> > 
> > Bug: skia:
> > Change-Id: Iafe7b8b4071491a71c473babcd7bedda659150c1
> > Reviewed-on: https://skia-review.googlesource.com/148120
> > Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> 
> TBR=bsalomon@google.com,michaelludwig@google.com
> 
> Change-Id: Ib735e323795ac8874cb00b007a915786b50517a6
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/153600
> Reviewed-by: Cary Clark <caryclark@google.com>
> Commit-Queue: Cary Clark <caryclark@google.com>

TBR=bsalomon@google.com,caryclark@google.com,michaelludwig@google.com

Change-Id: Ibf6ffbcb1af0dfbdac7317151aeb08f18f84c7fd
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/153887
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2018-09-12 20:20:32 +00:00
swiftshader-skia-autoroll
b98fb5b082 Roll third_party/externals/swiftshader fe79649598fb..d7a21ccd41ce (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/fe79649598fb..d7a21ccd41ce


git log fe79649598fb..d7a21ccd41ce --date=short --no-merges --format='%ad %ae %s'
2018-09-12 nicolas.capens@gmail.com Add Windows configs for LLVM 7.0.


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

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=caryclark@google.com

Change-Id: I4c7437972cadbef366e4a4576ac8a6fc28ae54c2
Reviewed-on: https://skia-review.googlesource.com/154140
Reviewed-by: swiftshader-skia-autoroll <swiftshader-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: swiftshader-skia-autoroll <swiftshader-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-09-12 19:58:28 +00:00
Florin Malita
d661474866 Improved SkPath packing
sizeof(SkPath): 24 -> 16 (on 64bit)

Change-Id: Iea0d363b70209eb984c816f9fba59c461fe42cec
Reviewed-on: https://skia-review.googlesource.com/154041
Reviewed-by: Mike Klein <mtklein@google.com>
2018-09-12 19:39:40 +00:00
Eric Boren
858f648bda [infra] Update recipe deps, fix usage of bot_update
Bug: skia:
Change-Id: I3829035a33a3bf147dd4ca90a0a45443a5b28eb6
Reviewed-on: https://skia-review.googlesource.com/154042
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2018-09-12 18:58:29 +00:00
Cary Clark
b8e125281d Revert "remove SK_SUPPORT_LEGACY_TYPEFACE_MAKEFROMSTREAM"
This reverts commit 558fabb31c.

Reason for revert: flutter hasnt rolled into fuschia so this breaks fuschia

Original change's description:
> remove SK_SUPPORT_LEGACY_TYPEFACE_MAKEFROMSTREAM
> 
> ... now that Brian updated Flutter's callsites
> 
> Bug: skia:8350
> Change-Id: I5ae72700125e09d84392eee8045c9602f718909a
> Reviewed-on: https://skia-review.googlesource.com/153901
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
> Auto-Submit: Mike Reed <reed@google.com>

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

Change-Id: I263e3c7694895ac85dc71a785832e7fb89dc81de
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:8350
Reviewed-on: https://skia-review.googlesource.com/154081
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
2018-09-12 18:55:00 +00:00
Joe Gregorio
b78becc40c Fix container builder command line.
The gcloud commands have moved.

Bug: skia:
Change-Id: I2af39ccfe0efe121766b7b0e2fe3cdb8cd8c4012
Reviewed-on: https://skia-review.googlesource.com/154040
Auto-Submit: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-09-12 18:44:59 +00:00
Mike Klein
fd007644c8 revise p3 GM
I've added a little auto-grader.
I think it's logic makes sense, but I'd appreciate fresh eyes on it.

Now with anti-aliased text.

Change-Id: I43a6d69251d4d93fbd70533f5c4d1cc281e4498b
Reviewed-on: https://skia-review.googlesource.com/154000
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-09-12 17:56:54 +00:00
Brian Osman
567f4fd019 Add F16 test-case to all_bitmap_configs
Currently, this won't draw on GPU backends that don't have F16 support.

Bug: skia:8375
Change-Id: Ie1975e7503384a8233ddfb5135452bb8cdc406f3
Reviewed-on: https://skia-review.googlesource.com/153888
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-09-12 17:44:25 +00:00
Robert Phillips
5e4e5451ff Expand SkPath fuzzer
Bug: 882423
Change-Id: Ib1599c84798de74b9e7ecefffb47f22fd12f5a8f
Reviewed-on: https://skia-review.googlesource.com/153889
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-09-12 17:25:25 +00:00
Hal Canary
7d06ab2932 SkPDF: do all rasterScale calculations in one place.
This is just clearer to me.

Change-Id: I4fb512cf70ceac39417d8d6020e707f4436ec209
Reviewed-on: https://skia-review.googlesource.com/153663
Commit-Queue: Hal Canary <halcanary@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2018-09-12 17:17:27 +00:00
Florin Malita
16322637c4 [sksg] Trim down sksg::Matrix size
Matrix nodes are most often not composed outside of the DAG.  Split into
a basic Matrix class and a (private) ComposedMatrix subclass.

TBR=
Bug: skia:8340
Change-Id: I3c182e10ae5fa20d0639c1031523dba3956b75bb
Reviewed-on: https://skia-review.googlesource.com/153883
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-09-12 15:28:18 +00:00
Mike Reed
558fabb31c remove SK_SUPPORT_LEGACY_TYPEFACE_MAKEFROMSTREAM
... now that Brian updated Flutter's callsites

Bug: skia:8350
Change-Id: I5ae72700125e09d84392eee8045c9602f718909a
Reviewed-on: https://skia-review.googlesource.com/153901
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2018-09-12 15:23:48 +00:00
Brian Osman
2700abc4cb Remove raw-data version of createTextureProxy
This had poorly defined semantics in the world of DDL, and was only used
for a handful of GMs and tests. Switch those to use the SkImage version.

Bug: skia:
Change-Id: I2bec65c7547b2c904bd7f57a6296aacc0f7b4ed2
Reviewed-on: https://skia-review.googlesource.com/153886
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-09-12 15:00:46 +00:00
Mike Reed
c3d8a48f1b allow path.add(path) safely
Bug: 882423
Change-Id: Ied2ad2d5dfdf00af8f3ba722b522e9602fea5557
Reviewed-on: https://skia-review.googlesource.com/153260
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2018-09-12 14:29:18 +00:00
Greg Daniel
b2acf0a939 Add unit test to test basic importing and drawing of AHardwareBuffers.
Bug: skia:
Change-Id: If601693109148a7d5c6e6855443a3401c36e5f01
Reviewed-on: https://skia-review.googlesource.com/153545
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2018-09-12 13:40:54 +00:00
Mike Reed
7728e91188 change language for pathkit
No-Try: true
Docs-Preview: https://skia.org/?cl=153900
Bug: skia:
Change-Id: Ie5771211d6a706976c1ab7082e68677bdceef42d
Reviewed-on: https://skia-review.googlesource.com/153900
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-09-12 13:40:34 +00:00
Brian Osman
1348ed0566 Revert "Revert "Add Adreno workaround for MSAA + stencil + ReadPixels""
This reverts commit 29868f9ebd.

Bug: skia:
Change-Id: I08eca74124bb696513aea00aaf466fbdf4a571fd
Reviewed-on: https://skia-review.googlesource.com/153881
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-09-12 13:32:01 +00:00
Peter Collingbourne
77b02f69f2 SkRemoteGlyphCache: Make serialization code bitness agnostic.
With this change we use the same serialization regardless of whether
we are targeting a 32-bit or a 64-bit machine.

Bug: chromium:865796, chromium:880617, chromium:879123
Change-Id: Ia8e5757a4e8e3986041e30827eaaa154595c37ba
Reviewed-on: https://skia-review.googlesource.com/141606
Auto-Submit: Peter Collingbourne <pcc@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Khusal Sagar <khushalsagar@chromium.org>
2018-09-12 13:13:24 +00:00