Commit Graph

36744 Commits

Author SHA1 Message Date
Brian Osman
8491dd80c8 Add support for gray + colorspace to SkCodec
In both PNG and JPEG, support passing Gray8 directly to skcms, and
remove assertions about gray never having a color xform.

Remove SkImage_Lazy hacks to strip color spaces when decoding gray.

Change-Id: I64c7b480c51a2b0c839e7eb8ed3a5fdea5aa4e41
Reviewed-on: https://skia-review.googlesource.com/150909
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-08-31 16:52:19 +00:00
Herb Derby
8378dfb6a1 Extract SkGlyphRunListPainter from SkGlyphRun.*
Change-Id: I2c5275b6dd9cf2f83d4d99b73dd32dff487e659b
Reviewed-on: https://skia-review.googlesource.com/150660
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-08-31 16:36:38 +00:00
Mike Klein
83e86ebf3c Reland "standardize macro checks in SkRasterPipeline_opts"
This is a reland of 75d25c4c8f

Last time I screwed up by replacing defined(__AVX2__) with
defined(JUMPER_IS_HSW).  When __AVX2__ is defined, we'll
be using AVX2, _or better_.

This time around I think I've got it all straight
translating the old __FOO__ into the equivalent JUMPER_IS_FOO.

Last time I also missed a defined(__SSE__), which has been
translated into JUMPER_IS_FOOs now too.

Original change's description:
> standardize macro checks in SkRasterPipeline_opts
>
> We mostly check JUMPER_IS_FOO macros, but in a few places we are
> checking the raw __FOO__ compiler macros instead.  If only for clarity,
> switch to JUMPER_IS_FOO.
>
> This is also a step towards me being able to control the instruction
> set we choose without having to #define these protected __FOO__ macros.
>
> Change-Id: Ieea2090ff658399e27746e0bb8ce950b06f9efb8
> Reviewed-on: https://skia-review.googlesource.com/150961
> Commit-Queue: Brian Osman <brianosman@google.com>
> Auto-Submit: Mike Klein <mtklein@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

Change-Id: I656d89e3d3cd7fa23fd618c80e59908fd2b31329
Reviewed-on: https://skia-review.googlesource.com/150965
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-08-31 16:27:57 +00:00
Ethan Nicholas
545aa936f5 fixed uninitialized memory use in arithmetic effect
Bug: skia:
Change-Id: Ieb591db974d858566b35c1e61c1303051ed65f67
Reviewed-on: https://skia-review.googlesource.com/150907
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2018-08-31 16:01:32 +00:00
Brian Salomon
62db8d5779 Make GrSemaphore a GrGpuResource
This makes semaphores get handled correctly when GrContext is abandoned or
asked to free all its resources.

Change-Id: I0b935bb95cf99b9acf647472bcd0231bb2759db6
Reviewed-on: https://skia-review.googlesource.com/150364
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-08-31 15:36:55 +00:00
Mike Klein
4ff26113d8 Revert "standardize macro checks in SkRasterPipeline_opts"
This reverts commit 75d25c4c8f.

Reason for revert: subtly broken, going to give this a redo.

Original change's description:
> standardize macro checks in SkRasterPipeline_opts
> 
> We mostly check JUMPER_IS_FOO macros, but in a few places we are
> checking the raw __FOO__ compiler macros instead.  If only for clarity,
> switch to JUMPER_IS_FOO.
> 
> This is also a step towards me being able to control the instruction
> set we choose without having to #define these protected __FOO__ macros.
> 
> Change-Id: Ieea2090ff658399e27746e0bb8ce950b06f9efb8
> Reviewed-on: https://skia-review.googlesource.com/150961
> Commit-Queue: Brian Osman <brianosman@google.com>
> Auto-Submit: Mike Klein <mtklein@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

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

Change-Id: Ifbf5b6f51a29ad4e02e8ca311e449c13cc3ed19c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/150964
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-08-31 15:35:55 +00:00
skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
d9212caf68 Roll skia/third_party/skcms 018002b16a8a..a6687f8b4d51 (1 commits)
https://skia.googlesource.com/skcms.git/+log/018002b16a8a..a6687f8b4d51

2018-08-31 mtklein@google.com use O(1) pragmas instead of O(N) attributes


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

Change-Id: Iaf7dedef53f9f5c345e27e76b180a332a9942f09
Reviewed-on: https://skia-review.googlesource.com/150948
Reviewed-by: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2018-08-31 15:29:14 +00:00
Michael Ludwig
a427559c13 Refactor 'in uniform' CPP code generation
Easily supports mapping ctypes to sksl types with templates that
specify how to send data to the GPU and how to track state changes.
The template logic and type mappings are defined in
SkSLCPPUniformCTypes.* while SkSLCPPCodeGenerator is updated to
utilize it.

It also updates the supported ctypes to properly generate code for
SkPoint, SkIPoint, SkIRect, and GrColor4f. The code generated for
'in uniforms' now also correctly supports conditional uniforms.


Bug: skia:
Change-Id: Ib7c0a873bdd68a966b6a00871f33102dfa2c432d
Reviewed-on: https://skia-review.googlesource.com/150129
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2018-08-31 15:19:58 +00:00
Florin Malita
ab706d85e0 [skottie] SkTArray begone
SkTArray is not a good choice for tigh allocations:

  - its minimum allocation count is 8
  - reserve(sz) doesn't adjust capacity to the exact value, but padds
    the same way as normal growth (max(sz, 8, 50%))
  - no shrink_to_fit() function to trim unneeded capacity

Since keyframed properties with a small number of frames are quite
common in Lottie, this adds significant heap overhead.

Switch to std::vector(), reserve() to the estimated frame count and
shrink_to_fit() when done parsing.

Bug: skia:8340

Change-Id: Id575e2da2fd17537948c2b38485a8accdb9f7a8b
Reviewed-on: https://skia-review.googlesource.com/150905
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-08-31 15:14:27 +00:00
Ben Wagner
a4cdfbb0d5 Move gbr-gl config from GTX1070 to QuadroP400.
Change-Id: Ifc0b0ad39d9a35625691b3fb12e6e6c65166d760
Reviewed-on: https://skia-review.googlesource.com/150903
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2018-08-31 15:13:22 +00:00
Kevin Lubick
be5091c1fb [PathKit] Remove experimental- from package names
On the demo page, we use the skia-cdn bucket to hopefully
have better performance than unpkg.

Additionally, on the demo page, we default to using the
WASM version if supported by the browser.

Docs-Preview: https://skia.org/?cl=150904
Bug: skia:8216
Change-Id: I901016e95b8d66803053680691aac4d314821d18
Reviewed-on: https://skia-review.googlesource.com/150904
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2018-08-31 15:11:04 +00:00
Mike Klein
835b2f5769 update SkPreConfig a little
- add AVX-512 to SK_CPU_SSE_LEVEL
  - remove unused SK_ARM_ARCH
  - small formatting changes
  - no need to check for __ARM_NEON__ and __ARM_NEON...
    __ARM_NEON is defined anywhere we'll find NEON.

Change-Id: I6841097d62cf73ddb749f961261e583474470276
Reviewed-on: https://skia-review.googlesource.com/150960
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-08-31 15:09:19 +00:00
Mike Klein
75d25c4c8f standardize macro checks in SkRasterPipeline_opts
We mostly check JUMPER_IS_FOO macros, but in a few places we are
checking the raw __FOO__ compiler macros instead.  If only for clarity,
switch to JUMPER_IS_FOO.

This is also a step towards me being able to control the instruction
set we choose without having to #define these protected __FOO__ macros.

Change-Id: Ieea2090ff658399e27746e0bb8ce950b06f9efb8
Reviewed-on: https://skia-review.googlesource.com/150961
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-08-31 15:08:20 +00:00
Chris Dalton
02e6efe0a4 Revert "ccpr: Implement stroking with fine triangle strips"
This reverts commit 2f2757fa6b.

Reason for revert: issues with DDL

Original change's description:
> ccpr: Implement stroking with fine triangle strips
> 
> Implements strokes by linearizing the curve into fine triangle strips
> and interpolating a coverage ramp for edge AA. Each triangle in the
> strip emits either positive or negative coverage, depending on its
> winding direction. Joins and caps are drawn with the existing CCPR
> shaders for triangles and conics.
> 
> Conic strokes and non-rigid-body transforms are not yet supported.
> 
> Bug: skia:
> Change-Id: I45a819abd64e91c2b62e992587eb85c703e09e77
> Reviewed-on: https://skia-review.googlesource.com/148243
> Commit-Queue: Chris Dalton <csmartdalton@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Allan MacKinnon <allanmac@google.com>

TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,caryclark@google.com,csmartdalton@google.com,reed@google.com,allanmac@google.com

Change-Id: I1980b09976df8275817eaffb6766dbd9fd3e59c7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/150980
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2018-08-31 14:45:44 +00:00
recipe-roller
98f6e76ff7 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/9d1991d736085e87f7fbb35f1fb4a7f023060c82 Reland "[buildbucket] fill gitiles commit from legacy properties" (nodir@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I67028b5713e5b76756a4e573af1fff64980f2e36
Reviewed-on: https://skia-review.googlesource.com/150902
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
2018-08-31 14:38:59 +00:00
Kevin Lubick
c7d057103e [PathKit] Move from experimental to modules
Add in Code of Conduct and Contributing.md as well.

Docs-Preview: https://skia.org/?cl=150901
Bug: skia:8216
Change-Id: Ia881124f653617ad0b7b91f40ba21de2c13220a6
Reviewed-on: https://skia-review.googlesource.com/150901
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2018-08-31 14:18:16 +00:00
recipe-roller
cf0346834c 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/293be111ecf808c8fd2ba843100d204e5c33ba78 [buildbucket] Include child build tags in legacy tests (nodir@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I99df8d8b062f4eddd76c51f77fcb0ba19af6f506
Reviewed-on: https://skia-review.googlesource.com/150900
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2018-08-31 14:08:22 +00:00
Greg Daniel
ecddbc0126 Add support for switching family queues in vulkan.
Bug: skia:
Change-Id: Ie4f620a96d1a6f7662819590d97073a694159f96
Reviewed-on: https://skia-review.googlesource.com/150483
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2018-08-31 13:25:22 +00:00
skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
03a47063de Roll skia/third_party/skcms b116880ba8e8..018002b16a8a (1 commits)
https://skia.googlesource.com/skcms.git/+log/b116880ba8e8..018002b16a8a

2018-08-31 mtklein@google.com relax transform aliasing a bit


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

Change-Id: Ie5dbf74a0f80ffb1a470d9590c99d8b7dc6cc74c
Reviewed-on: https://skia-review.googlesource.com/150831
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-08-31 13:17:30 +00:00
Mike Klein
351545a0c7 Revert "update SkPaint size sanity check"
This reverts commit cd72da268c.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> update SkPaint size sanity check
> 
> I counted twice... there are 7 pointers and 8 4-byte things.
> 
> Change-Id: I106a0f1c1bf9ee580e7b04afc763b2ec977fca3c
> Reviewed-on: https://skia-review.googlesource.com/150120
> Auto-Submit: Mike Klein <mtklein@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

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

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: I579eab2f71bb1307c1e6c12da8678b787291411a
Reviewed-on: https://skia-review.googlesource.com/150845
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-08-31 13:08:47 +00:00
Chris Dalton
2f2757fa6b ccpr: Implement stroking with fine triangle strips
Implements strokes by linearizing the curve into fine triangle strips
and interpolating a coverage ramp for edge AA. Each triangle in the
strip emits either positive or negative coverage, depending on its
winding direction. Joins and caps are drawn with the existing CCPR
shaders for triangles and conics.

Conic strokes and non-rigid-body transforms are not yet supported.

Bug: skia:
Change-Id: I45a819abd64e91c2b62e992587eb85c703e09e77
Reviewed-on: https://skia-review.googlesource.com/148243
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Allan MacKinnon <allanmac@google.com>
2018-08-31 12:51:47 +00:00
skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
628bc7713c Roll skia/third_party/skcms 5ac66b04c9e3..b116880ba8e8 (1 commits)
https://skia.googlesource.com/skcms.git/+log/5ac66b04c9e3..b116880ba8e8

2018-08-31 mtklein@google.com Get -Wreserved-id-macro clean


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

Change-Id: I50f828d8444a7c8cdcb97c57cbb4cc52158ed203
Reviewed-on: https://skia-review.googlesource.com/150826
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-08-31 12:48:27 +00:00
recipe-roller
6f0f1675d6 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/826c7b72a3a49aec40320edd994b899e94502715 Revert "[buildbucket] fill gitiles commit from legacy properties" (machenbach@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I72f2a16fc7f8ec641cfa3396c5893192654fc55d
Reviewed-on: https://skia-review.googlesource.com/150844
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
2018-08-31 12:44:41 +00:00
Robert Phillips
9407864ea9 Fix Fuchsia roll
It is dying with the error:

src/svg/SkSVGDevice.cpp:870:23: error: binding reference member 'fOrigin' to stack allocated parameter 'origin' [-Werror,-Wdangling-field]
            : fOrigin(origin)
                      ^~~~~~
src/svg/SkSVGDevice.cpp:941:21: note: reference member declared here
    const SkPoint&  fOrigin;

and was introduced in:

https://skia-review.googlesource.com/c/skia/+/150542 (Remove drawPosText from svg)

Change-Id: I7a2d1c2992100d0cfd2e50df6dd7195f62d053e6
Reviewed-on: https://skia-review.googlesource.com/150842
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-08-31 12:35:23 +00:00
recipe-roller
9b45afb254 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/b159b6a105fb08ac1bf1ab55d0d3537676d6226b Revert "[buildbucket] Parse CL from legacy properties" (machenbach@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I6d114bd7fe7840c439abdcf63750a4c86605d6e2
Reviewed-on: https://skia-review.googlesource.com/150841
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2018-08-31 12:12:21 +00:00
angle-skia-autoroll
8ff2f13f38 Roll third_party/externals/angle2 1bf963b62929..fd1621076a74 (1 commits)
1bf963b629..fd1621076a


git log 1bf963b62929..fd1621076a74 --date=short --no-merges --format='%ad %ae %s'
2018-08-31 oetuaho@nvidia.com Support multisample arrays as framebuffer attachments


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

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

Change-Id: Iec35eb80a4ee372865b7211519ec8e529c5a7010
Reviewed-on: https://skia-review.googlesource.com/150801
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-08-31 12:10:16 +00:00
swiftshader-skia-autoroll
f8592a6942 Roll third_party/externals/swiftshader 62cfbb9c7876..5fb5e817a20d (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/62cfbb9c7876..5fb5e817a20d


git log 62cfbb9c7876..5fb5e817a20d --date=short --no-merges --format='%ad %ae %s'
2018-08-31 chrisforbes@google.com Consider context promotion when validating share context


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

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

Change-Id: I3dbdc7ba088df466be318aa9a46131b77e7854c6
Reviewed-on: https://skia-review.googlesource.com/150800
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-08-31 02:18:50 +00:00
swiftshader-skia-autoroll
381efe7349 Roll third_party/externals/swiftshader 4bbff9eb88c1..62cfbb9c7876 (2 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/4bbff9eb88c1..62cfbb9c7876


git log 4bbff9eb88c1..62cfbb9c7876 --date=short --no-merges --format='%ad %ae %s'
2018-08-30 ghartman@google.com Resolve conflicts on Android.bp/.mk when building with O
2018-08-30 ghartman@google.com Allow SwiftShader to be moved to a non-default location


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

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

Change-Id: I67caf4eb21e9f920ec2a46925f5434eee8ecd05b
Reviewed-on: https://skia-review.googlesource.com/150761
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-08-30 23:20:44 +00:00
angle-skia-autoroll
87bf8d2c58 Roll third_party/externals/angle2 44b2c0b1d349..1bf963b62929 (1 commits)
44b2c0b1d3..1bf963b629


git log 44b2c0b1d349..1bf963b62929 --date=short --no-merges --format='%ad %ae %s'
2018-08-30 tobine@google.com Clean up PlatformMethods attribute enum


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

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

Change-Id: I2fb504adb6930d701fafbc36c62bc9e22077f706
Reviewed-on: https://skia-review.googlesource.com/150760
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-08-30 23:08:53 +00:00
recipe-roller
bfefd5df26 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/f20c5a4a3c70dd116fb8b0177f2e20b1a7038446 [bot_update] Fix initialization from buildbucket (nodir@google.com)
recipe_engine:
  https://crrev.com/1a9239db3740a699a5b7ba732cd0be42b89548e0 [buildbucket] Parse CL from legacy properties (nodir@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I03c11c6d493038b27650755585e48d6a3f5db7e8
Reviewed-on: https://skia-review.googlesource.com/150683
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2018-08-30 23:04:33 +00:00
recipe-roller
1c4bb306f5 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/8babfab3d9b041d23734ccfdd403beb070473f60 [buildbucket] fill gitiles commit from legacy properties (nodir@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I71abcdde78ef9fbf8628f3c1a811b52452045970
Reviewed-on: https://skia-review.googlesource.com/150681
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
2018-08-30 21:54:25 +00:00
skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
5f0943f8d8 Roll skia/third_party/skcms 6b324dbdf772..5ac66b04c9e3 (1 commits)
https://skia.googlesource.com/skcms.git/+log/6b324dbdf772..5ac66b04c9e3

2018-08-30 mtklein@google.com remove PremulLinear


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

Change-Id: I99e55d77aac4cd5483d1922517b94dd887956f7e
Reviewed-on: https://skia-review.googlesource.com/150642
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-08-30 21:54:24 +00:00
Mike Klein
ce086d36a4 Another manual ANGLE roll
This commit rebased the source paths in the .gni
file from ANGLE's src/ directory to its project root.

The update to third_party/angle2/BUILD.gn does the same.

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

Change-Id: Id814f67bed2dfab11f878544989054e38987a939
Reviewed-on: https://skia-review.googlesource.com/150485
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Stephan Altmueller <stephana@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Stephan Altmueller <stephana@google.com>
2018-08-30 21:31:47 +00:00
Ben Wagner
acb4b0f474 Detect when a FreeType glyph doesn't have a path.
It appears that the way to check a glyph doesn't have a path is to load
the glyph with the FT_LOAD_NO_BITMAP load flag and then check if the glyph
format is FT_GLYPH_FORMAT_BITMAP, meaning that no outline was available.

Change-Id: Ie19fc7005115f4c4f6072a7be0e93576f8db5877
Bug: skia:7878
Reviewed-on: https://skia-review.googlesource.com/150467
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-08-30 20:51:02 +00:00
Michael Ludwig
92e4c7fded Support input color argument to process() function in sksl .fp files
--

This expands sksl's capabilities with .fp files. Previously, it was possible to declare "in fragmentProcessor foo" and emit it automatically when "process(foo);" was called. This adds a variant of process that takes a second argument, which must be a half4 expression. This argument specifies the value, or dynamic expression calculated earlier in the parent shader, to use as sk_InColor by the child.

The CL is longer than anticipated because of properly handling dependencies between previous sksl statements and the input to the child. The original writeEmitCode() collected all extra emission code (the calls to build->emitChild) and put them before any call to codeAppendf. This makes it impossible to use a parent's variable, or the output of another child, as the input for process.

To solve this, there is now a flushEmittedCode() function that takes over the logic of outputting the extra emission code and the necessary codeAppendf calls. When invoked, it (by default) only appends completed sksl statements, and places any current expression back at the beginning of the output stream. It now updates fFormatArgs and fExtraEmitCodeCode as it consumes their contents. This allows writeFunctionCall() for a call to "process" to flush all previous statements before it adds its emit child code.

Bug: skia:
Change-Id: I63c41af6f3e0620aa890d10d14436ee6244f0051
Reviewed-on: https://skia-review.googlesource.com/148395
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2018-08-30 20:51:01 +00:00
Michael Ludwig
10c3776b44 Remove GrTextureStripAtlas, textured gradients use independent textures
The texture strip atlas code path has been disabled without performance
regressions since 8/3/18, so this deletes it completely from the code
base since it is complex and difficult to manage.

GrTextureStripAtlas, GrDynamicTextureStripAtlas, and
GrDDLTextureStripAtlas completely deleted, everything else is cleaning
up references/dead code using the atlas.

Bug: skia:
Change-Id: Ieb967b6e291a1d76da62fce9fa384acbda8c51c0
Reviewed-on: https://skia-review.googlesource.com/150472
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-08-30 20:43:30 +00:00
swiftshader-skia-autoroll
6c203e8316 Roll third_party/externals/swiftshader 60f8662dc0ef..4bbff9eb88c1 (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/60f8662dc0ef..4bbff9eb88c1


git log 60f8662dc0ef..4bbff9eb88c1 --date=short --no-merges --format='%ad %ae %s'
2018-08-30 sugoi@google.com Checking in Vulkan headers


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

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

Change-Id: I1eeb4e67ccde5ee450163dde3f98cd5de4872e33
Reviewed-on: https://skia-review.googlesource.com/150611
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-08-30 20:38:17 +00:00
Herb Derby
7edaa73a12 Remove drawPosText from SkDevice
Change-Id: I1ca6d5222499e295485a5b7773fa3957410803eb
Reviewed-on: https://skia-review.googlesource.com/150543
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2018-08-30 20:21:58 +00:00
Herb Derby
8e318fda76 Reland "Check that mask to path fallback happens"
This is a reland of 9f85b5116e

Original change's description:
> Check that mask to path fallback happens
> 
> BUG=chromium:876767
> 
> Change-Id: I6aadf329af836a1e03aa85b34a58830be00ff750
> Reviewed-on: https://skia-review.googlesource.com/150135
> Commit-Queue: Herb Derby <herb@google.com>
> Reviewed-by: Khusal Sagar <khushalsagar@chromium.org>

Bug: chromium:876767
Change-Id: I3fdf17ef3bd9c3f8b0e19d017f14114f3675dc12
Reviewed-on: https://skia-review.googlesource.com/150544
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-08-30 19:34:13 +00:00
angle-skia-autoroll
4975975163 Roll third_party/externals/angle2 ddc41208c15f..e1037e9be377 (5 commits)
ddc41208c1..e1037e9be3


git log ddc41208c15f..e1037e9be377 --date=short --no-merges --format='%ad %ae %s'
2018-08-30 fjhenigman@chromium.org Avoid rebase_path() in tests/BUILD.gn.
2018-08-30 tobine@google.com Add jsoncpp as third_party dep
2018-08-30 oetuaho@nvidia.com Implement TexStorage3DMultisample on the GL backend
2018-08-30 oetuaho@nvidia.com Clean up TextureD3D_2DMultisample
2018-08-30 oetuaho@nvidia.com Use OES_texture_storage_multisample_2d_array


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

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

Change-Id: I0abc79f6efbd000adc16a9fab354d83769e384cd
Reviewed-on: https://skia-review.googlesource.com/150604
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-08-30 19:32:54 +00:00
Michael Ludwig
231de03a4f Improve inputColor handling in fragment processor implementations.
EmitArgs explicitly checks for null constructor arguments and uses
"half4(1)" for fInputColor to ensure its fields are non-null.

Cleans up accesses of fInputColor in existing fragment processors to no
longer check for null and hardcode a "half4(1)".

Updates .fp CPP generation to remove the null check for fInputArgs.

Updates the internals of emitChild() to emit an extra local variable
with a mangled variable name for storing the provided input expression.


Bug: skia:
Change-Id: Iad807f269655689dcb2e8d58f2eb506685ba2757
Reviewed-on: https://skia-review.googlesource.com/149231
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2018-08-30 19:28:23 +00:00
Herb Derby
d708bd6bb2 Remove drawPosText from svg
Change-Id: Ic2934da38025fb889f8125e13670cea798640247
Reviewed-on: https://skia-review.googlesource.com/150542
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2018-08-30 19:15:50 +00:00
Herb Derby
e61c23406f Remove drawPosText_asPath - more dead code
Change-Id: I4a0a1eb093767962fb0cd631ad41561962a233ea
Reviewed-on: https://skia-review.googlesource.com/150540
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2018-08-30 18:58:23 +00:00
Kevin Lubick
ef0fee0496 [Skottie] Fallback to portable font manager
The -Lottie bot runs with --nonativeFonts so, for some animations that
request a specific font (e.g. Helvetica), this would fail, but not
fallback to an actual font manager.

This makes sure we at least have some text, even if it's the "wrong"
font.

Bug: skia:8298
Change-Id: Ibce7fda5b0a82fc3a708ab1cf5a7a394484ca89e
Reviewed-on: https://skia-review.googlesource.com/150468
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-08-30 18:09:59 +00:00
Heather Miller
c9367d33dc Update Skia milestone to 71
TBR:reed@google.com
NOTRY=true

Bug: skia:
Change-Id: Ic3a9b2511fed9a731867200e4f298f8f54eaf85b
Reviewed-on: https://skia-review.googlesource.com/150580
Reviewed-by: Heather Miller <hcm@google.com>
2018-08-30 18:02:33 +00:00
Brian Salomon
1e576e7fdc Some GrSemaphore cleanup
Remove unused GrResourceProvider functions that transfer context
ownership.

Return GrBackendSemaphore by value, make method public.

Change-Id: I1fe83b661cab82a54dde33b4b649579ea01be97c
Reviewed-on: https://skia-review.googlesource.com/150363
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-08-30 17:51:18 +00:00
Robert Phillips
df65b83ef7 Suppress addition of changeListeners during DDL recording
Bug: skia:8324
Change-Id: I5e27bc4c5b8bc709c8017367dfdfaf09643fafbf
Reviewed-on: https://skia-review.googlesource.com/150462
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-08-30 17:46:15 +00:00
Herb Derby
db8adb5845 Remove drawPosText support for SkBitmapDevice
Change-Id: I84885c3c12bc9ee7b048846c762bf928682e0952
Reviewed-on: https://skia-review.googlesource.com/150362
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2018-08-30 17:46:14 +00:00
Ethan Nicholas
ce008119dc converted arithmetic FP to new FP structure
Bug: skia:
Change-Id: I5492b378fa0f2ab7b453b2b1b18e4aef898370d2
Reviewed-on: https://skia-review.googlesource.com/148910
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-08-30 17:41:11 +00:00
Robert Phillips
59b39e718f Always force GPU generated masks be top left (take 2)
Bug: 878195
Change-Id: Ie5d890597926f160743188ff1011f33e078f3d8f
Reviewed-on: https://skia-review.googlesource.com/150466
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-08-30 17:41:10 +00:00