Commit Graph

36330 Commits

Author SHA1 Message Date
Mike Klein
9b7e99e394 also set Wno-implicit-fallthrough for Android
Change-Id: Idac532f2ac43ef2b702561635c8a6804ae89ff74
Reviewed-on: https://skia-review.googlesource.com/148809
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
2018-08-22 22:01:11 +00:00
Leon Scroggins III
33d5394d08 Revert "Switch SkCodec to use skcms" and follow on change
This reverts commit 81886e8f94 and
f8ae5ce20c
("Fix CMYK handling in JPEG codec")

This fixes the Android build, which was failing a CTS test with this
change.

Bug: skia:6839
Bug: skia:8052

TBR=djsollen@google.com
As with the original, no API change

Change-Id: Ic744a610e9f431707f871de44f9f64040bc60d14
Reviewed-on: https://skia-review.googlesource.com/148810
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2018-08-22 21:13:50 +00:00
skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
45bc27aff2 Roll skia/third_party/skcms b2fffd2ecf2e..e8e06f9724b0 (1 commits)
https://skia.googlesource.com/skcms.git/+log/b2fffd2ecf2e..e8e06f9724b0

2018-08-22 mtklein@google.com Add another CMYK profile.


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

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

Change-Id: Ib0618e82644706d2f1e6e0932be99aafd9f92886
Reviewed-on: https://skia-review.googlesource.com/148822
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-22 20:52:29 +00:00
Robert Phillips
73653b43dd Address perf regression due adding GrRenderTargetContext::drawShape method
All of the skps that regressed have maskFiltered DRRects that can be drawn as nested rects.
These used to go through the nested rect fast path and will again do so with this CL.

Change-Id: Ic787b89ffe71d2e9b20d394d5e0ce1a0ce135e98
Reviewed-on: https://skia-review.googlesource.com/148666
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-08-22 20:28:02 +00:00
angle-skia-autoroll
4283c03669 Roll third_party/externals/angle2 44ae899ae9ce..9259fd0d4f4c (6 commits)
44ae899ae9..9259fd0d4f


git log 44ae899ae9ce..9259fd0d4f4c --date=short --no-merges --format='%ad %ae %s'
2018-08-22 oetuaho@nvidia.com Clean and enable NoLeakingFragments multiview test
2018-08-22 oetuaho@nvidia.com Add helpers for multiview framebuffer init
2018-08-22 jmadill@chromium.org Add state change test for uniform buffer validation.
2018-08-22 oetuaho@nvidia.com Ignore D3D11 debug layer messages in multiview tests
2018-08-22 chrome-bot@chromium.org Remove cq_name from cq.cfg at tandrii@chromium's request.
2018-08-22 chrome-bot@chromium.org Temporarily suppress multiview test failure due to debug layers


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

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

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

Change-Id: Ia3170997ab11d33195bb3a82c73ffd541d2e5f0a
Reviewed-on: https://skia-review.googlesource.com/148780
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-22 20:17:50 +00:00
Brian Osman
f8ae5ce20c Fix CMYK handling in JPEG codec
Now that the ground-truth color profile is in the skcms profile, we
can't check the info's SkColorSpace (which will never be CMYK) to make
this determination. Look at the profile instead.

Change-Id: I6afda07de35e28b41d73b0b6740e4c46359e5162
Reviewed-on: https://skia-review.googlesource.com/148802
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-08-22 20:11:41 +00:00
Brian Osman
d1589c7213 Stop conflating F16 with linear gamma
Note to self: I debugged this, realized that the codecs
need to handle A2B -> XYZ, then realized that I just need
to wait for https://skia-review.googlesource.com/c/skia/+/136062

Bug: skia:
Change-Id: I594c22076feb3700b8a40c471a541fef5ff4e13e
Reviewed-on: https://skia-review.googlesource.com/137587
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-08-22 19:54:57 +00:00
Chris Dalton
d22a023c3a Reland "Disable GPU clip masks"
This reverts commit e2da5f90ac.

Reason for revert: Issue resolved

Original change's description:
> Revert "Disable GPU clip masks"
> 
> This reverts commit 2272ea2a4b.
> 
> Reason for revert: https://crbug.com/863817
> - We are experiencing GPU process instability on Mac
> - Crash is in GL driver
> - The instability only happens with GPU raster enabled
> - This is in the culprit range and affect GL calls made
> 
> Original change's description:
> > Disable GPU clip masks
> > 
> > Bug: skia:
> > Change-Id: I3abacfd17ea6247d0bdb2ab8a2584a88bf468dad
> > Reviewed-on: https://skia-review.googlesource.com/140776
> > Reviewed-by: Stephen White <senorblanco@chromium.org>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Chris Dalton <csmartdalton@google.com>
> 
> TBR=bsalomon@google.com,robertphillips@google.com,senorblanco@chromium.org,csmartdalton@google.com,senorblanco@google.com
> 
> # Not skipping CQ checks because original CL landed > 1 day ago.
> 
> Bug: skia:
> Change-Id: Ia6c0e6f5dcede2aff7b0c3c6e19d47c255bb3991
> Reviewed-on: https://skia-review.googlesource.com/144660
> Reviewed-by: Christopher Cameron <ccameron@google.com>
> Commit-Queue: Christopher Cameron <ccameron@google.com>

TBR=bsalomon@google.com,robertphillips@google.com,senorblanco@chromium.org,csmartdalton@google.com,ccameron@google.com,senorblanco@google.com

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

Bug: skia:
Change-Id: I603e28f214f601911c61df63e685a8359a0f0cf1
Reviewed-on: https://skia-review.googlesource.com/148720
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2018-08-22 19:33:24 +00:00
Brian Osman
f06240de2c Add support for unpremul image sources in the GPU backend
Change-Id: Ib940fa0d658fff0b2dd923abfcc5ca4a49b2b38b
Reviewed-on: https://skia-review.googlesource.com/148397
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-08-22 19:23:44 +00:00
Michael Ludwig
e84fb199ca Add reset and findLastOf to SkSLString.
reset and findLastOf are defined in SkString, but SkSLString may extend
from std::string instead. In that situation, this implements reset and
findLastOf in terms of the std::string API so taht the SkSLString API is
consistent regardless of SKSL_USE_STD_STRING's status.

Bug: skia:
Change-Id: Ifc38a9f3d533d09282bb6243421791dcf783e131
Reviewed-on: https://skia-review.googlesource.com/148382
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2018-08-22 19:20:24 +00:00
Ben Wagner
d7bc0b1a96 [infra] Remove Braswell Perf Debug jobs.
The Braswell (IntelHD405) bots are way over-capacity. The Perf Debug
jobs are responsible for about half of the bot time.

We don't upload any data from Perf Debug jobs, so the only point of
running them is to catch asserts. It seems unlikely that the Braswell
bots would be the only ones to assert, since we also have Sandy Bridge,
Bay Trail, and Kaby Lake bots running the same configs.

No-Try: true
Change-Id: Id71086aade9f143d76fe80c03e41f7f9b52e911b
Reviewed-on: https://skia-review.googlesource.com/148675
Commit-Queue: Eric Boren <borenet@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2018-08-22 19:13:59 +00:00
Herb Derby
4798576feb Pull SkSpan into its own header file
Change-Id: I32d800c91794093973cb8128fd1b83b4aff91845
Reviewed-on: https://skia-review.googlesource.com/148672
Commit-Queue: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2018-08-22 18:49:15 +00:00
Ben Wagner
7ea54289d2 Remove extra Mac CPU jobs.
This is a followup to
https://skia-review.googlesource.com/c/skia/+/145431

Also clean up old job names in recipe expectations.

No-Try: true
Change-Id: Ic63a64a98fb39076680941bb2415b7bb64415179
Reviewed-on: https://skia-review.googlesource.com/148671
Commit-Queue: Eric Boren <borenet@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2018-08-22 18:44:24 +00:00
Adrienne Walker
92b161fab4 Add emulate_abs_int_function workaround
Bug: chromium: 642227,829614
Change-Id: I23be4105041187a6501f45cd2033ac0143642aa1
Reviewed-on: https://skia-review.googlesource.com/147322
Commit-Queue: Adrienne Walker <enne@chromium.org>
Auto-Submit: Adrienne Walker <enne@chromium.org>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2018-08-22 18:25:13 +00:00
Leon Scroggins III
81886e8f94 Switch SkCodec to use skcms
Bug: skia:6839
Bug: skia:8052

Create an skcms_Profile instead of an SkColorSpace when creating an
SkCodec. Eventually we'll move the SkImageInfo (and its SkColorSpace)
entirely to clients (e.g. SkAndroidCodec, SkCodecImageGenerator), but
for now, create it with SkEncodedInfo::makeImageInfo.

Create new SkEncodedInfo::Colors for the special PNG cases that we
want to map to specific SkColorTypes.

SkEncodedInfo:
- Add ICCProfile, which owns an skcms_ICCProfile
 - FIXME: maybe we should have a single instance for
  SRGB like SkColorSpace?
- Add kXAlpha_Color, for kAlpha_8. Since I'm not longer creating
  an SkImageInfo (at least in SkPngCodec), it needs a way to pass
  this info to the caller.
- Add k565_Color, for the same reason. Matt originally had this in
  https://codereview.chromium.org/2212563003/#ps120001, but didn't
  land that version. I like it though. Mike didn't like the bits
  per component for 565, but it seems like a sensible hack, much
  like the existing one for kAlpha_8
- Add width and height. These were removed for redundancy with
  SkImageInfo, but it makes sense to have them here without it.
BUILD.gn:
- Build the new SkEncodedInfo.cpp
SkCodec:
- Remove the constructor with an SkImageInfo. Edit the other one
  to drop width and height (now in SkEncodedInfo) and take a RHS
  reference to SkEncodedInfo
- Create the SkImageInfo from fEncodedInfo (for now)
- Consolidate choosing skcms_AlphaFormat for Transform here
- Call conversionSupported from initializeColorXform, with a new
  parameter for whether there is a color Xform, allowing SkJpegCodec
  and SkHeifCodec to override that method instead of having another
  method.
SkBmpCodec (etc)
- Adapt to the changes above
- Create a new SkEncodedInfo w/o profile for the swizzler.
SkPngCodec:
- use the new SkEncodedInfo::Colors rather than a custom SkImageInfo
SkRawCodec:
- Remove SkEncodedInfo from SkDngImage, which doesn't actually need it.
  This is helpful since we don't know all the info yet.
- Rewrite gAdobeRGB_toXYZD50 as an skcms_Matrix3x3
SkWebpCodec:
- Remove premul_step computation, and simplify to just rely on
  the base class' handling of applying the transform.
SkSwizzler:
- Add cases for the new SkEncodedInfo::Colors

TBR=reed@google.com
No public API changes. Only private/public members of SkCodec.h are
modified.

Change-Id: Ic0d3bb752b03f13be886b80331987aa5a5713fc0
Reviewed-on: https://skia-review.googlesource.com/136062
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-08-22 18:16:20 +00:00
Brian Osman
82cf64a0d3 Remove unused sRGB mip-map support
Change-Id: I94b27561bfaabe821af280ddc719840e5e25d106
Reviewed-on: https://skia-review.googlesource.com/148669
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-08-22 17:37:57 +00:00
Kevin Lubick
f14a3c059f [PathKit] Add asm.js build and test jobs
Consolidates the karma files into one for docker/asmjs/wasm and all
combinations.

The asm.js build seems to have some small imprecisions that we didn't
see as much as with WASM, probably due to JS limitations/differences
to c++'s floats.

To address these, I've marked some (5) tests in PathOps* as flaky
because they fail on Release, Debug or Test versions of the asm.js build.

Other then that, asm.js seems basically identical to the WASM.

WASM is much smaller, 416k vs 877k and seems to load faster (not
measured).

Note to reviewers:
example.html was copied from npm-wasm version, so doesn't need
further review.

Bug: skia:8216
Change-Id: Ib92b90fa6c598de85a0be319d46b25693ae5aaa4
Reviewed-on: https://skia-review.googlesource.com/148396
Reviewed-by: Stephan Altmueller <stephana@google.com>
2018-08-22 17:19:10 +00:00
Ben Wagner
760af2548c [infra] Remove NexusPlayer Vulkan jobs.
From robertphillips:
 - not many Android devices use PowerVR chips
 - the NexusPlayer is not getting P
 - We're also ignoring the NexusPlayer vk gold result bc the driver
   doesn't seem to be clearing the color buffer so almost all the
   images are incorrect.

Bug: skia:7021 skia:6132 skia:7191 skia:7244 skia:7018 skia:7837 skia:8166
Change-Id: I2a1e9748deeee7f9cab6294b961783182ed5351e
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/148667
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-08-22 17:16:01 +00:00
Mike Klein
e03a176510 streamline interface to GrColorSpaceXform::Make()
We can now pass all cs/at params, so no need for UnpremulToUnpremul().

Also found a spot to use sk_srgb_singleton().

Does this make sense to apply to GrColorSpaceXformEffect too?

Change-Id: I1ee1f5919aa2ae841a98eeb5662cb80c244b1049
Reviewed-on: https://skia-review.googlesource.com/148665
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-08-22 17:09:02 +00:00
Brian Osman
fbc6d7fcf6 Make SkColor4f <-> SkColor skip sRGB conversion
This lets us remove the old S32 functions, and fix a couple bugs.
I think this is a good first step to using SkColor4f for paint colors.

Bug: skia:
Change-Id: I0337c2b6db29b73c2f682f85b9cf68c985de7cce
Reviewed-on: https://skia-review.googlesource.com/147205
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-08-22 17:03:45 +00:00
Adrienne Walker
c02165fae1 Add unfold_short_circuit_as_ternary workaround
Bug: chromium: 307751,829614
Change-Id: I1fb347e5470eb2a498192f3fc467a6b744b53a79
Reviewed-on: https://skia-review.googlesource.com/147243
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Adrienne Walker <enne@chromium.org>
2018-08-22 16:54:26 +00:00
Leon Scroggins III
4a0ba280b9 Fix flutter build
Flutter relies on SkCodec::kNone, which has been renamed, so define
SK_LEGACY_SKCODEC_NONE_ENUM in order to see the legacy name.

Change-Id: Icc32128c504fe988f55873b0221f56c56859def4
Reviewed-on: https://skia-review.googlesource.com/148663
Auto-Submit: Leon Scroggins <scroggo@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2018-08-22 16:04:24 +00:00
Robert Phillips
4f6c9157ba Remove occluder parameter from SkMaskFilter::MakeBlur factory
I've cleaned up the call sites in Chrome so we should be able to remove this

Change-Id: I945c0cd54647b20f47012c26f31667b4dd6a07f0
Reviewed-on: https://skia-review.googlesource.com/148662
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-08-22 15:59:29 +00:00
Brian Salomon
2d0a6a1f98 Reland "Add ability to specify different GP textures for each mesh in a draw."
This reverts commit deeb655912.

Reason for revert: Fix landed for incorrect chaining logic: https://skia-review.googlesource.com/148380

Original change's description:
> Revert "Add ability to specify different GP textures for each mesh in a draw."
> 
> This reverts commit d1b8a166db.
> 
> Reason for revert: breaks android apps, by drawing overlapping content out of painters order.
> 
> Original change's description:
> > Add ability to specify different GP textures for each mesh in a draw.
> > 
> > Uses GrPipeline::DynamicStateArrays to allow per-mesh GP textures when
> > drawing an array of GrMeshes.
> > 
> > Uses this along with op-chaining to make drawing multiple TextureOps
> > with different textures faster.
> > 
> > Change-Id: Iec4da1b72a13d0e0c94c8a8568fe4221c539dfcf
> > Reviewed-on: https://skia-review.googlesource.com/145960
> > Commit-Queue: Brian Salomon <bsalomon@google.com>
> > Reviewed-by: Brian Osman <brianosman@google.com>
> 
> TBR=bsalomon@google.com,robertphillips@google.com,brianosman@google.com
> 
> # Not skipping CQ checks because original CL landed > 1 day ago.
> 
> Change-Id: I5c686b85adb378ba7faf34576efce74aebd348f7
> Reviewed-on: https://skia-review.googlesource.com/147260
> Reviewed-by: Derek Sollenberger <djsollen@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

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

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

Change-Id: I90173d4072c64b9ec4c87989e63e4ed283bd4829
Reviewed-on: https://skia-review.googlesource.com/148681
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-08-22 15:59:19 +00:00
Brian Osman
37f9988065 Remove sRGB pixel config code from DDL tests
More remnants of linear blending.

Change-Id: I35cab7dab63cb392e7427393b2875c234cbb82f0
Reviewed-on: https://skia-review.googlesource.com/146523
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-08-22 15:30:13 +00:00
Ben Wagner
f0a2c106a5 Add iOS Metal Test job.
Bug: skia:8230
Change-Id: I500905b9e3db46ab775cf56a433de0bb17ef232c
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/146400
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-08-22 15:11:50 +00:00
Nigel Tao
66bc524d34 Rename SkCodec::kNone to SkCodec::kNoFrame
Add a SK_LEGACY_SKCODEC_NONE_ENUM #define'able to ease transition.

Also rename another internal "kNone" enum in SkWebpCodec.cpp.

The "kNone" name is overloaded:
- include/core/SkImageGenerator.h defines its own kNone.
- include/encode/SkPngEncoder.h defines its own kNone.
- include/private/GrTypesPriv.h defines multiple kNone's.

Bug: skia:
Change-Id: I18c03a74f2f1b0237016e0eef53dcd4478b82609
Reviewed-on: https://skia-review.googlesource.com/146020
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2018-08-22 14:49:56 +00:00
Nigel Tao
96597c22c3 Add more comments to SkCodec::getRepetitionCount
Bug: skia:
Change-Id: Icc2d7d78106cb587905a8ddb039bc9bf7ae6ad91
Reviewed-on: https://skia-review.googlesource.com/146021
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2018-08-22 14:16:44 +00:00
Greg Daniel
e6ab998bc2 Revert "added support for sk_Dimensions to SkSL"
This reverts commit 9335c28e40.

Reason for revert: breaking vulkan and maybe metal in gold

Original change's description:
> added support for sk_Dimensions to SkSL
> 
> Bug: skia:
> Change-Id: I5f6a9941822b7b4a3ad85b22b1bcd31d58320f90
> Reviewed-on: https://skia-review.googlesource.com/146640
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>

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

Change-Id: I5e9dcfffd118ef125afb7b7792f16cb51dd779a3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/148680
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-08-22 13:56:37 +00:00
Nigel Tao
13df9817f8 Update SkCodec::rewindIfNeeded comment
Bug: skia:
Change-Id: I3c08535115b139be80341543daea6d5e23065cd0
Reviewed-on: https://skia-review.googlesource.com/146022
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
2018-08-22 13:28:18 +00:00
angle-skia-autoroll
9802644319 Roll third_party/externals/angle2 70aeda4942f5..44ae899ae9ce (3 commits)
70aeda4942..44ae899ae9


git log 70aeda4942f5..44ae899ae9ce --date=short --no-merges --format='%ad %ae %s'
2018-08-22 oetuaho@nvidia.com Fix resource init/teardown in multiview tests
2018-08-22 jie.a.chen@intel.com Make some Program methods inlined
2018-08-22 jmadill@chromium.org Use Observer pattern for Buffers in front-end.


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

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

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

Change-Id: I5af39feb74abb54a9f8c4c234a691c27b528f305
Reviewed-on: https://skia-review.googlesource.com/148600
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-22 11:22:13 +00:00
recipe-roller
4de7e37d95 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/29361ca11fa37bfe9961af093edaf60c37d2db96 Add standalone dawn gclient config (cwallez@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I8593a249a8c4724e3809f36cd4fd753b92655ed1
Reviewed-on: https://skia-review.googlesource.com/148561
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2018-08-22 10:00:42 +00:00
angle-skia-autoroll
9d1dd2c722 Roll third_party/externals/angle2 d710fee3861a..70aeda4942f5 (5 commits)
d710fee386..70aeda4942


git log d710fee3861a..70aeda4942f5 --date=short --no-merges --format='%ad %ae %s'
2018-08-21 jmadill@chromium.org Add gl::Program::syncState and dirty bits.
2018-08-21 jmadill@chromium.org Optimize element array binding.
2018-08-21 tobine@google.com Revert "Expect pass on pointcoord test on Pixel 2"
2018-08-21 jmadill@chromium.org Add more test param documentation to perf tests.
2018-08-21 jmadill@chromium.org Optimize BindingsBenchmark::drawBenchmark.


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

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

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

Change-Id: I502dfcf7974680dc59ec0ddd248eb92a01c4a2ce
Reviewed-on: https://skia-review.googlesource.com/148520
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-22 02:26:29 +00:00
Mike Klein
12d4b6e545 let's like, chill out about all these rules, man
There's really no reason to prevent any of these conversions;
they all have somewhat reasonable behavior:

   - converting between grey in different color spaces
     should probably work just fine
   - we'll convert color to gray using a fixed set of
     luminance coefficients, but that's better than failing
   - we'll invent {r,g,b} = {0,0,0} if we convert alpha
     to something with color
   - converting to opaque formats without thinking about
     premul/unpremul is probably fine, better than just
     not working at all
   - a missing src color space can always be assumed to be sRGB

Updates to ReadPixelsTest:
   - skip more supported test cases in test_conversion(),
     each with a TODO
   - conversions from non-opaque to opaque should now work
   - conversion from A8 to non-A8 should sometimes now
     work on GPUs, and the test needed a little bit of
     a tweak to not expect A8 to carry around color somehow.

Updates to SRGBReadWritePixelsTest:
   - writing untagged pixels shouldn't fail anymore;
     instead, it should behave like it was tagged sRGB

Change-Id: I19e78f3a6c89ef74fbcbc985d3fbd77fa984b1c2
Reviewed-on: https://skia-review.googlesource.com/147815
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-08-21 22:23:54 +00:00
recipe-roller
1b8d2e9bc4 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/2310fc75c6b6cd672558934d92f04e6ccd449140 Keep fewer copies of data to sanitize utf-8 in OutputPlaceholders too. (thakis@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ib156497ae389f75ff35a78e5baa9458f5c575c4c
Reviewed-on: https://skia-review.googlesource.com/148440
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2018-08-21 21:40:13 +00:00
Herb Derby
65956874e0 Rename SkGlyphRunListDrawer to SkGlyphRunListPainter
Change-Id: I43aa72e67b87f03e234cf5d451ef7259611222da
Reviewed-on: https://skia-review.googlesource.com/148398
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-08-21 21:31:50 +00:00
Adrienne Walker
ee8295c050 Add add_and_true_to_loop_condition workaround
See https://bugs.chromium.org/p/chromium/issues/detail?id=644669#c4 for
what this is doing and trying to work around.

Bug: chromium: 644669, 829614
Change-Id: I5616eb6f7299c30e5bdf812e55099ac0a8fc9c1d
Reviewed-on: https://skia-review.googlesource.com/146856
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Adrienne Walker <enne@chromium.org>
2018-08-21 20:03:50 +00:00
Florin Malita
1b1dead00d [skottie] Split-up Skottie.cpp
Introduce more granular compilation units for major Skottie layer types.

TBR=
Change-Id: Iee2ef05cbcdda06467674824eb295ae6d7dc5bb9
Reviewed-on: https://skia-review.googlesource.com/148394
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2018-08-21 19:06:15 +00:00
Herb Derby
48aed85a1b Use SkGlyphRun directly in SkRemoteGlyphCache
Remove use of the text blob iterator shim in preparation to have
remote glyph cache and GPU share code.

Change-Id: Ib94c3ee22ae7305145bde72dd039354e7e204f93
Reviewed-on: https://skia-review.googlesource.com/148392
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-08-21 19:04:51 +00:00
Robert Phillips
1734dd3e75 Address fuzzer issue
Bug: skia:8261
Change-Id: I507e39b0d7ae4f0237153713679b46c1645922c1
Reviewed-on: https://skia-review.googlesource.com/148381
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-08-21 18:45:13 +00:00
Kevin Lubick
8fe1b044c3 Update Pixels to Android P
Bug: skia:
Change-Id: I0222016ff079da2199e3658f1657aecc3f80f401
Reviewed-on: https://skia-review.googlesource.com/148389
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2018-08-21 18:08:47 +00:00
Greg Daniel
d8c5b432e0 Disable FB Fetch in metal ios
This is disabled until we add support to SkSL metal shaders.

Bug: skia:8270
Change-Id: Ie4827d19f025f2e43e88b50394217dba37eb8929
Reviewed-on: https://skia-review.googlesource.com/148391
Commit-Queue: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: Greg Daniel <egdaniel@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2018-08-21 18:00:16 +00:00
Florin Malita
fa0441b952 [skottie/cleanup] Refactor parser state handling
* introduce AnimationBuilder to hold mostly immutable (modulo caching)
    state
  * split the scoped animator state into AnimatorScope

This will facilitate splitting the monolithic Skottie.cpp in follow-up
CLs.

Refactoring only, no functional changes.

TBR=
Change-Id: I0a8295e60be4559586fc4a9fea3dee4a7f5714d4
Reviewed-on: https://skia-review.googlesource.com/148390
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-08-21 17:55:29 +00:00
angle-skia-autoroll
b38bce94c1 Roll third_party/externals/angle2 7a4f6b8c7d5e..d710fee3861a (2 commits)
7a4f6b8c7d..d710fee386


git log 7a4f6b8c7d5e..d710fee3861a --date=short --no-merges --format='%ad %ae %s'
2018-08-21 tobine@google.com Expect pass on pointcoord test on Pixel 2
2018-08-21 oetuaho@nvidia.com Inherit MultiViewProgramGenerationTest from MultiviewTest


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

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

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

Change-Id: Iae7b3799609e3e73cb23e3ce58b7c6769a667026
Reviewed-on: https://skia-review.googlesource.com/148400
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-21 17:32:04 +00:00
Herb Derby
20a6332c94 Check for too small rect for path
This check was dropped in skia cl/145000. Add it back
in to bring it back into parity with the SkRemoteGlyphCache.

BUG=chromium:873020

Change-Id: I04c12e54145e0ebd1bdec2f01f5f40f26648f78a
Reviewed-on: https://skia-review.googlesource.com/148384
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Auto-Submit: Herb Derby <herb@google.com>
2018-08-21 17:20:42 +00:00
Ethan Nicholas
9335c28e40 added support for sk_Dimensions to SkSL
Bug: skia:
Change-Id: I5f6a9941822b7b4a3ad85b22b1bcd31d58320f90
Reviewed-on: https://skia-review.googlesource.com/146640
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2018-08-21 17:17:16 +00:00
Mike Klein
b85fc3bd1b treat opaque dsts as src alpha type
Ignoring for the moment principled reasons to do this,
this has the following nice properties:

   1) in the absence of a color space transform,
      all sources are transformed to opaque by dropping
      their alpha channel (not part of the steps)

   2) premul sources are not unpremultiplied
      unless we need to transform color spaces

   3) unpremul sources are never premultiplied

This seems like the best generalization of 1) to cases
that require a color space transformation.

The alternative that we have at head treats opaque as
unpremul, so transforming from premul to opaque preserves
the abstract color but not the color composed on black.

Change-Id: Ic7d7ee24012da3d53378c20f5a4e54fa32405613
Reviewed-on: https://skia-review.googlesource.com/148388
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-08-21 17:15:36 +00:00
Brian Salomon
764e546c32 Fix op chaining painter's order violation in GrRenderTargetOpList.
Add unit test of op chaining.

Relax bounds checks in op merging/chaining to only check bounds against
heads of op chains.

Change-Id: I714435913b901c0a068bc7233ca30f2ab7916c2e
Reviewed-on: https://skia-review.googlesource.com/148380
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-08-21 17:03:42 +00:00
Herb Derby
a5a2622762 Fix possible nullptr deref
Check that the fPathData object exists before
derefing to get the path.

BUG=chromium:873020

Change-Id: Ie381178f49905a0dc3f5c3a3477453d4785507f4
Reviewed-on: https://skia-review.googlesource.com/148385
Auto-Submit: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-08-21 17:00:31 +00:00
Hal Canary
ea60b951d7 IWYU: SkUtils.h
Change-Id: Ieac05047826b1fb80950d65573d38494a1a5c5e7
Reviewed-on: https://skia-review.googlesource.com/148383
Commit-Queue: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2018-08-21 16:05:44 +00:00