Commit Graph

41345 Commits

Author SHA1 Message Date
Mike Reed
194cab0fd3 use slope-guess for faster charToGlyph
Made up a threshold between linear and slope searching.
For a count of 100 here are the before and after timings.
The first two lines are being changed. The latter 2 are
the native look-ups for mac.

Before

  15/15  MB	115	2.33µs	2.34µs	2.34µs	2.34µs	0%	▆▁▄█▇▇▂▄█▆	nonrendering	cmap_findcache_charToGlyph
  15/15  MB	66	3.47µs	3.48µs	3.49µs	3.55µs	1%	█▁▁▁▂▁▁▁▁▄	nonrendering	cmap_addcache_charToGlyph
  15/15  MB	1	1.1µs	1.13µs	1.21µs	1.98µs	22%	█▂▁▁▁▁▁▁▁▂	nonrendering	cmap_face_charToGlyph
  15/15  MB	190	1.09µs	1.1µs	1.19µs	1.64µs	17%	▁▁▁▆█▁▁▁▁▁	nonrendering	cmap_font_charToGlyph

After

  15/15  MB	447	448ns	449ns	448ns	449ns	0%	▂▅█▅▁▆█▂▁▆	nonrendering	cmap_findcache_charToGlyph
  15/15  MB	95	2.79µs	3.03µs	3µs	3.06µs	3%	▇▇▇▇▇███▄▁	nonrendering	cmap_addcache_charToGlyph
  15/15  MB	1	1.15µs	1.16µs	1.25µs	1.99µs	21%	█▂▁▁▁▁▁▁▁▁	nonrendering	cmap_face_charToGlyph
  15/15  MB	186	1.09µs	1.1µs	1.12µs	1.27µs	5%	█▁▁▁▂▁▁▁▁▁	nonrendering	cmap_font_charToGlyph


Bug: skia:
Change-Id: If7da4eef3cce248393815071f342607f0c8140bb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/208044
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-04-15 19:35:59 +00:00
Herb Derby
e74192103c Reland "Convert the CPU mask case to use prepareForDrawing"
This is a reland of c48879ed40

BUG=952629

Original change's description:
> Convert the CPU mask case to use prepareForDrawing
>
> Change-Id: I3a36084544e12730f4815dbf5b6c78a1cd719f1b
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207761
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Herb Derby <herb@google.com>

Change-Id: I382901e2a4cc186b206450cd4ae8058c6c0e2149
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/208042
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-04-15 19:23:09 +00:00
Mike Klein
bf15b66768 dump stack trace in FM on failure
In CrashHandler...
  - make CrashHandler a non-noop... don't know why it's disabled
  - fix bitrot since we last built it
  - update to demangle symbols on Linux too, not just Mac
  - catch SIGTRAP, which will catch SK_ABORT / SkASSERT,
    unless otherwise hooked (e.g. by a debugger)

In fm...
  - use CrashHandler
  - convert exit_with_failure to SK_ABORT so they'll also dump a trace
  - flush stdout after printing what's running

Change-Id: Ib20d0e4f442d73c28e193396dc6e85935fc58544
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/208151
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-04-15 19:15:39 +00:00
Leon Scroggins III
bcc75323f9 Implement SkHeifCodec::onRewind
Bug: 130458015
Test: Id2d70e95d2d879d2ff5e2cb985d3542731108909

SkHeifCodec needs to reset some of its state between decoding calls. Do
so in onRewind. This mimics SkJpegCodec, on which SkHeifCodec is
modelled.

Change-Id: I380a8ed88c98eaedc6f6ff1ff115bb2dea68bd56
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/208180
Auto-Submit: Leon Scroggins <scroggo@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2019-04-15 18:48:39 +00:00
Mike Klein
3d50730e12 restore vmull_u8() in color32()
vmull_u8() does u8 * u8 -> u16, 8 at a time.  This keeps the loop as
tight as possible in NEON, basically {load,mull,addhn,store,loop}.

Drop N to 4 pixels at at time to make this easier.  Depending on how
performance charts go, I may circle back to bring this back up to 8.

Bug: chromium:952502
Change-Id: I17ba6b60c0cc6c6da71b05a4af269d87d76672b5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/208140
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-04-15 18:09:39 +00:00
Brian Osman
a71b4ce346 Guard GrRadialGradientLayout::TestCreate against Empty shaders
With certain degenerate params (decal mode and a very small radius), we
could produce an SkShader that's an instance of SkEmptyShader, which
then failed to create an FP.

Bug: skia:8660 skia:8860 skia:8982
Change-Id: I47142572cd0c75d15c6ee1e66e3140786431371f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/208221
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-04-15 18:06:38 +00:00
Florin Malita
e1c275e360 [skottie] 'Add' layer blend mode support
BM now exports an enum for 'add' blending [1]. This corresponds to
SkBlendmode::kPlus.


[1] 86874c1018

Change-Id: I3c9a52e4055563f50bb68f460eda27fed1c4a411
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/208220
Auto-Submit: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-04-15 17:47:39 +00:00
Mike Klein
bc537fac4b step carefully in decal_nofilter_scale
can_truncate_to_fixed_for_decal() is correct to check that we can step
fx by dx count-1 times without overflowing, but as written we actually
step count times, and sometimes the final fx does overflow.  Fuzzers
equipped with UBSAN have noticed.

There's no real bug here, as we ignore that final fx, but we can step
carefully to avoid this with very little impact on code complexity or
performance.

Bug: chromium:951264
Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Change-Id: I5446dbdffdc5fa873c843c26654894bd79202971
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207921
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Auto-Submit: Mike Klein <mtklein@google.com>
2019-04-15 17:26:28 +00:00
skia-autoroll
662d67133a Roll skia/third_party/skcms 0da672fc2c69..668026c511f3 (1 commits)
https://skia.googlesource.com/skcms.git/+log/0da672fc2c69..668026c511f3

2019-04-15 mtklein@google.com remove need for -Wno-narrowing


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

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

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



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

Change-Id: I6d0f5de8d878ec5319ca3986599e62d9f5d17aef
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/208150
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-15 16:32:18 +00:00
Mike Klein
930c29511f always zero SkMallocPixelRefs
I'm getting tired of trying to figure out where
clients screw up and forget to clear these buffers,
and I'd like a safer safety net for our own screw ups.

Bug: chromium:934161, many more
Change-Id: I6ada4c821da6dd173e54c6402c17d6946ff05fdf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207857
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-04-15 15:50:58 +00:00
Ben Wagner
1875353110 Add LenovoYogaC630 (Win arm64 bot)
Change-Id: I70f4e01a2c55e85ee5e17a29f7f05a4a4aff2ae2
Bug: skia:8569 skia:8976
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204264
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-04-15 15:35:48 +00:00
Mike Reed
e71641479c removed localmatrix getter
Change-Id: I0325719c44993ddefec207d65fcb4babff807f70
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/208097
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-04-15 14:40:18 +00:00
Brian Osman
be2062c430 Extend --writeShaders to output SPIR-V
Changed the python script to operate on all shaders in the directory,
handling SPIR-V appropriately, and collating data across backends.
Made the output CSV, so that it imports into spreadsheets directly
(and handles missing columns cleanly).

Removed all the JSON digest logic - this was overkill at the moment,
and it made it tricky once we were combining information from GL and
Vulkan. Also, the hit count data was probably misleading - it didn't
count hits at the program cache level, just the persistent cache.

Change-Id: If354cde943c96f84e7bcc20a137afefca3b59358
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207960
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-04-15 14:04:18 +00:00
Greg Daniel
a3aa75ab29 Add callback to flush for knowing when gpu is finished work.
Bug: skia:8802
Change-Id: I093c2a4e879b635b169a849d9af3e9f7a3d84a88
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207870
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-04-15 13:52:28 +00:00
Robert Phillips
831a29341c Plumb sk_sp through the GrOpList class hierarchy
This is preparing the ground for having proxies be atomically reffed

Change-Id: Ice48c41120d4ec10a758f696a69028b6363e8a7e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207762
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-04-15 12:21:45 +00:00
Robert Phillips
1fe0b86f17 Remove some unused GrSurfaceProxy methods
Change-Id: I3762ce179cc50c452c28dabbdadb3c50d529b271
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207884
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-04-15 12:17:55 +00:00
skia-recreate-skps
e1c5ea6779 Update go_deps asset
Automatic commit by the UpdateGoDEPS bot.

TBR=borenet@google.com

Change-Id: I22302f20863d8440c8f13e58d7ada4c1596371b5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/208089
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-04-15 05:51:21 +00:00
skia-autoroll
f697b0cdc1 Roll third_party/externals/angle2 cfc73cc1af5e..065f8dc35f9d (12 commits)
cfc73cc1af..065f8dc35f


git log cfc73cc1af5e..065f8dc35f9d --date=short --no-merges --format='%ad %ae %s'
2019-04-12 timvp@google.com Vulkan: Set appropriate GL conformant bit for returned configs
2019-04-12 courtneygo@google.com Always enable NPOT for Vulkan backend
2019-04-12 benjaminwagner@google.com Fix 'not all control paths return a value' and add to extra_warnings
2019-04-12 jmadill@chromium.org Update test result output from ANGLE dEQP gtests.
2019-04-12 jmadill@chromium.org Move ANGLE CQ to linux-angle-rel and mac-angle-rel.
2019-04-12 jmadill@chromium.org Ensure deleteTexture preserves correct texture cache.
2019-04-12 jmadill@chromium.org Vulkan: Add design docs on line segment raster.
2019-04-12 jmadill@chromium.org Vulkan: Write design doc explaining SPIR-V generation.
2019-04-12 ynovikov@chromium.org Suppress flaky dEQP 3.1 test
2019-04-12 tobine@google.com Incorrectly placed extension directive is an error
2019-04-12 thakis@chromium.org Remove explicit -Wextra-semi, -Winconsistent-missing-override flags.
2019-04-12 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src 82ebbbba15c2..98b3f26c2f1f (2 commits)


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

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

Change-Id: I9f342d4622526f695ab6348017b961296fc3b1d4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/208101
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-15 05:01:51 +00:00
skia-autoroll
f5bb65efc0 Roll ../src 6506f553b36c..b2d31144d9af (500 commits)
6506f553b3..b2d31144d9


Created with:
  gclient setdep -r ../src@b2d31144d9

The AutoRoll server is located here: https://autoroll.skia.org/r/chromium-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:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
TBR=herb@google.com

Change-Id: I83b8c3fa751a98e3b48941610d9692621cae9d70
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/208100
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-15 04:36:51 +00:00
skia-autoroll
3611ee1bb1 Roll third_party/externals/swiftshader 13f230772370..64b761a8af9b (23 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/13f230772370..64b761a8af9b


git log 13f230772370..64b761a8af9b --date=short --no-merges --format='%ad %ae %s'
2019-04-15 bclayton@google.com Kokoro: Build VS solutions produced from CMake
2019-04-15 bclayton@google.com Build: Silence LLVM warnings for Windows.
2019-04-13 bclayton@google.com Revert "SprivShader: Replace hand-rolled bitreverse with LLVM intrinsic"
2019-04-13 bclayton@google.com Revert "SprivShader: Replace hand-rolled bitcount with LLVM intrinsic"
2019-04-13 bclayton@google.com SprivShader: Replace hand-rolled bitcount with LLVM intrinsic
2019-04-13 bclayton@google.com SprivShader: Replace hand-rolled bitreverse with LLVM intrinsic
2019-04-13 sugoi@google.com Dynamic state implementation
2019-04-13 bclayton@google.com Kokoro: Enable macos CI tests
2019-04-13 bclayton@google.com Build: Silence all Clang + SubZero warnings.
2019-04-13 swiftshader.regress@gmail.com Regres: Update test lists @ acf12f1c
2019-04-13 bclayton@google.com Kokoro: Remove now unused files
2019-04-13 bclayton@google.com Kokoro: Disable Vulkan tests for Subzero.
2019-04-13 bclayton@google.com Kokoro: Add stub (noop) test files for macOS.
2019-04-13 bclayton@google.com Subzero: Fix warning ‘Ty’ may be used uninitialized
2019-04-13 bclayton@google.com Build: Suppress multi-line comment warning (in Subzero).
2019-04-12 bclayton@google.com SpirvShader: Implement GLSLstd450MatrixInverse
2019-04-12 capn@google.com Implement basic SPIR-V texture sampling
2019-04-12 chrisforbes@google.com Adjust matrix addressing to account for RowMajor/ColMajor
2019-04-12 chrisforbes@google.com Capture RowMajor/ColMajor decorations
2019-04-12 chrisforbes@google.com Fix handling of loads/stores of explicitly-laid-out objects
2019-04-12 capn@google.com Pass descriptor sets to SPIR-V compilation
2019-04-12 capn@google.com Propagate descriptor decorations to access-chain and load results
2019-04-12 swiftshader.regress@gmail.com Regres: Update test lists @ 13f23077


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

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

Change-Id: I5551d12f1a45f8a7081ae394b894718752257d72
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/208102
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-15 04:36:12 +00:00
Herb Derby
c9f55de2ed Inline computeHinting
Change-Id: Icc191e788ba8d3ddee0234125807f3d03c08548a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/208043
Auto-Submit: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-04-14 19:05:51 +00:00
skia-recreate-skps
b5e57e9a3d Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: Ie94e9c40b6c78998a1ef27bb47fee4c47a2c1d87
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/208030
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-04-14 08:45:40 +00:00
skia-recreate-skps
5c6b565bdf Update go_deps asset
Automatic commit by the UpdateGoDEPS bot.

TBR=borenet@google.com

Change-Id: I9c1f7c60471c27141c331e8434fa95f65eed8474
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/208025
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-04-14 05:47:40 +00:00
Herb Derby
12cf258193 Revert "Convert the CPU mask case to use prepareForDrawing"
This reverts commit c48879ed40.

Reason for revert: Regresses on fuzzer because it doesn't handle glyphs wider than 32K correctly

Original change's description:
> Convert the CPU mask case to use prepareForDrawing
>
> Change-Id: I3a36084544e12730f4815dbf5b6c78a1cd719f1b
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207761
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Herb Derby <herb@google.com>

TBR=bungeman@google.com,herb@google.com

Change-Id: I046f24fd541dd121b8fa65ff5811c3055a28215d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/208041
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-04-14 00:23:10 +00:00
Herb Derby
33233a09fe Reland "Convert the CPU path case to use prepareForDrawing"
This is a reland of 8be917af43

Original change's description:
> Convert the CPU path case to use prepareForDrawing
>
> Change-Id: I5babfc7f1fa9784d81896d5c036e3b50c2af8ca0
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207760
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Herb Derby <herb@google.com>

Change-Id: I307792b443d4738ee2ccb545cc40256bc94cacee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207887
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-04-13 12:57:49 +00:00
skia-recreate-skps
69f54f8f0f Update go_deps asset
Automatic commit by the UpdateGoDEPS bot.

TBR=borenet@google.com

Change-Id: Ifcd9e1b8399d0cd08e64a793594edf964826ae27
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207654
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-04-13 05:50:29 +00:00
Herb Derby
990bfc7858 Convert SkGlyph::toMask() to SkGlyph::mask()
Change-Id: I749fd152281df8942f488010c356ea0af10c5dea
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207885
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-04-13 00:57:58 +00:00
Mike Reed
0c60708737 add utility for caching char2glyph
Try: out/release/nanobench --match _charToGlyph

Pseudo plan to use this:
- attach to whatever typeface backends need it (probably just freetype)
- have a purge/limiting scheme (e.g. only cache N entries)
- if we care, make the search fancier (e.g. binary, slope, etc.)

Bug: 951647
Change-Id: Ib1042ca5891d2742499faf1314579c402121a855
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207703
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-04-13 00:03:58 +00:00
recipe-roller
e62bf56163 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/bd29f6f7520912e263526adc7b092ccdf2002ae5 Roll bb to 080c945efd74d45e9edac5d5b6cc598bbe106593 (nodir@google.com)
  https://crrev.com/db58954c8cb36dd41e245a982f978a1f19b16af6 Use the same git-cache bucket for authenticated and unauthenticated repos. (dpranke@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I5eada068588f5acffbf0e2afd6828a0894bab8da
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207980
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-04-12 21:46:58 +00:00
Herb Derby
c48879ed40 Convert the CPU mask case to use prepareForDrawing
Change-Id: I3a36084544e12730f4815dbf5b6c78a1cd719f1b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207761
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-04-12 20:17:28 +00:00
Herb Derby
81fd86c1ca Revert "Convert the CPU path case to use prepareForDrawing"
This reverts commit 8be917af43.

Reason for revert: Causes layout tests to draw problem

Original change's description:
> Convert the CPU path case to use prepareForDrawing
> 
> Change-Id: I5babfc7f1fa9784d81896d5c036e3b50c2af8ca0
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207760
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Herb Derby <herb@google.com>

TBR=bungeman@google.com,herb@google.com

Change-Id: I8ec1e8fed49571cc70b0acac750cbbf302f551fe
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207886
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-04-12 20:04:30 +00:00
Michael Ludwig
9bf37f6817 Remove debug quadType() checks
This was originally in place to prevent gross programmer error when
writing the rectangle draw ops. Given how sensitive the quadType()
functions are to numerical precision issues, it created many false
positives. The quadType() is only used for minor optimizations that
don't really impact what is drawn, so there is no real risk when the
type determined via matrix differs from the type calculated from the
coordinates.

Bug: chromium:935563, chromium:935503
Change-Id: I4c9798758971dc853289975335506ade141441df
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207882
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-04-12 19:43:39 +00:00
Michael Ludwig
a6a8400e99 Support domain clamping and transform matrices in YUVToRGB effects
This helps avoid flattening of YUV/A images when drawn with a strict src
rect constraint. SkiaRenderer almost always provides a strict constraint
for their YUV videos.

This adds a GM that replicates the issue in skbug:8959, and adds a GM to
the wacky_yuv set that checks domain clamping across all of the different
formats.

Bug: 8959
Change-Id: I53f531a94f3b63f81d8c3cbe22d868e3356aeabd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207020
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-04-12 19:43:38 +00:00
Herb Derby
8be917af43 Convert the CPU path case to use prepareForDrawing
Change-Id: I5babfc7f1fa9784d81896d5c036e3b50c2af8ca0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207760
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-04-12 18:10:05 +00:00
Ben Wagner
53eab013f5 Factor common SSH logic into a new flavor.
Change-Id: I3e9acc3f8e2690169b3c76f9aec1ac22f6dfc93a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205620
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-04-12 17:37:25 +00:00
Mike Reed
bb85b8b3f3 remove dead code from old factories, enum
Change-Id: I12d46c2c60539689949a08636c3a654d2298285a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207868
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-04-12 17:11:25 +00:00
Mike Klein
3d6f8d0a46 replace Sk4px with SkVx in SkBlitter_ARGB32
This is a 1:1 transliteration, with the skvx code more explicit about
what's going on, the old Sk4px code more abstracted and specificially
designed to work with unorm8 types.  It's not as terse, but I think I've
got it equally or more clear?

I haven't changed anything here, but I think it should be pretty clear
how to generalize this up to say, 8 pixels at a time?

Writing this CL has got me pretty strongly considering adding explicit
bit-pun constructors to the skvx::Vec types, given how often I'm finding
them to be useful, particularly between uint32 and 4x uint8.

Change-Id: Ie62340e571258fc82176ae3d6605b1f96695f90e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207722
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
2019-04-12 17:00:46 +00:00
Brian Osman
0b8bb88cbb GLSL editing in Viewer
When in GL backend, adds a "Shaders" section to the debug menu.
"Load" scrapes all of the vertex and fragment shaders being used,
then displays them. They can be edited, and "Save" pushes the
results.

Note: It is trivial to trigger an assert by saving a shader that
doesn't compile. I'd like to make the program builder more robust
in a follow-up CL, to fall back to the "real" SkSL, not draw, or
something along those lines.

Change-Id: I841fe2ee76a3c2eae58b64ef587fcbe25b95cc7e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206905
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-04-12 16:23:54 +00:00
Michael Ludwig
904657dadf Make sure local rects are sorted post-clipping
Bug: chromium:946338
Change-Id: I7d78e84ddde32436990f5da5bcd0c6230bb8eaf1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207871
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-04-12 16:04:14 +00:00
Michael Ludwig
25071cc52b Always initialize geometry domain if it's written to the GPU
Bug: chromium:948499
Change-Id: I19efe6bb73b0926a79d3ae629a22efa8ea500b18
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207864
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-04-12 15:10:59 +00:00
Greg Daniel
01e1f4df7f Reland "limit mask drawing to clip bounds"
This reverts commit 35f1c154c5.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Revert "limit mask drawing to clip bounds"
> 
> This reverts commit 41d087c262.
> 
> Reason for revert: very speculative revert to see if this fixes android roll
> 
> Original change's description:
> > limit mask drawing to clip bounds
> > 
> > Change-Id: Iab74531614654f241e12d1cd1af14725888580c8
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207143
> > Reviewed-by: Mike Reed <reed@google.com>
> > Auto-Submit: Lee Salzman <lsalzman@mozilla.com>
> > Commit-Queue: Mike Klein <mtklein@google.com>
> 
> TBR=mtklein@chromium.org,mtklein@google.com,reed@google.com,lsalzman@mozilla.com
> 
> Change-Id: Ib848a276cc4bfdf346949acef3e81fd9f8b082a2
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207860
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

TBR=mtklein@chromium.org,egdaniel@google.com,mtklein@google.com,reed@google.com,lsalzman@mozilla.com

Change-Id: I7c072e56ba744bad88f9b7cc65a857aef6fff756
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207880
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-04-12 15:05:58 +00:00
Brian Osman
c85f8e8dda Include particles in shared Windows builds
Avoids double-compiling SkTextUtils (with different settings),
which is already in the dependent 'skia' target.

Change-Id: I3f803e7ebcc0787b8b47a85d2a5a52fd8e0778db
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207866
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-04-12 15:05:57 +00:00
Herb Derby
820b8b716e Convert the fallback source case to use prepareForDrawing
Change-Id: I15438ecf7acba9e6b47c8de8b1acb8b24da5b8e9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207708
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-04-12 15:00:55 +00:00
Brian Osman
e6ef03d53b Make the persistent cache utility functions operate on SkData
This avoids boilerplate at every call-site (and more are being added
soon) to set up the reader/writer objects.

Change-Id: Idc632932b5a9be8d3164d249abab7dccbb905ca3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207704
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-04-12 15:00:54 +00:00
Mike Klein
ed7f2aabbd Revert "clean up SK_SUPPORT_LEGACY_A8_MASKBLITTER"
This reverts commit ae6c5c08be.

Reason for revert: Android still is.

Original change's description:
> clean up SK_SUPPORT_LEGACY_A8_MASKBLITTER
> 
> cannot find anyone defining it
> 
> Change-Id: Ia93555b4d8fa1c07dd932dc39fe8854518f1455e
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207720
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

TBR=mtklein@google.com

Change-Id: Ib9dbcb394f522fe2bd1e5be7a814952cc5d62b88
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207848
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-04-12 13:41:25 +00:00
Christopher Cameron
7e3370a9e5 Null-initialize pointer
This caused a warning (and therefore error) when building Metal into
Chromium.

Change-Id: I3a40247a438e85977f0afa2cf712151dba8d9290
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207710
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-04-12 12:29:14 +00:00
Greg Daniel
35f1c154c5 Revert "limit mask drawing to clip bounds"
This reverts commit 41d087c262.

Reason for revert: very speculative revert to see if this fixes android roll

Original change's description:
> limit mask drawing to clip bounds
> 
> Change-Id: Iab74531614654f241e12d1cd1af14725888580c8
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207143
> Reviewed-by: Mike Reed <reed@google.com>
> Auto-Submit: Lee Salzman <lsalzman@mozilla.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

TBR=mtklein@chromium.org,mtklein@google.com,reed@google.com,lsalzman@mozilla.com

Change-Id: Ib848a276cc4bfdf346949acef3e81fd9f8b082a2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207860
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-04-12 11:55:26 +00:00
skia-recreate-skps
41476708db Update go_deps asset
Automatic commit by the UpdateGoDEPS bot.

TBR=borenet@google.com

Change-Id: Ibb829b329e5dc4d469a0795c61dce007fd8eb9e0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207794
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-04-12 05:50:54 +00:00
skia-autoroll
f74fff6600 Roll third_party/externals/angle2 e6b23e45b380..cfc73cc1af5e (5 commits)
e6b23e45b3..cfc73cc1af


git log e6b23e45b380..cfc73cc1af5e --date=short --no-merges --format='%ad %ae %s'
2019-04-11 jmadill@chromium.org Correct subImage uses of texture type -> target.
2019-04-11 ynovikov@chromium.org Skip ParallelShaderCompileTestES31.LinkAndDispatchManyPrograms
2019-04-11 syoussefi@chromium.org Vulkan: remove clear depth ability from clearWithDraw
2019-04-11 syoussefi@chromium.org Vulkan: Use render pass loadOp for scissored clears
2019-04-11 syoussefi@chromium.org Vulkan: few more EGL dEQP suppressions on Android


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

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

Change-Id: I31d6280c47d167ed05dc717dec5e0b865cec9bf4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207791
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-12 05:05:34 +00:00
skia-autoroll
ebf5bf0a41 Roll third_party/externals/swiftshader 3954a0bafb8a..13f230772370 (11 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/3954a0bafb8a..13f230772370


git log 3954a0bafb8a..13f230772370 --date=short --no-merges --format='%ad %ae %s'
2019-04-11 bclayton@google.com Kokoro: Split the windows and linux configs
2019-04-11 bclayton@google.com Build: Default to treating warnings as errors
2019-04-11 bclayton@google.com SpirvShader: Fix unhelpful warning about parentheses on GCC
2019-04-11 bclayton@google.com Build fixes for LLVM 3 backend
2019-04-11 capn@google.com Fix implicit string cast to boolean warning (treated as error)
2019-04-11 sugoi@google.com Fixed all warnings in the Vulkan build on Windows
2019-04-11 sugoi@google.com External image/buffer/fence/semaphore properties
2019-04-11 swiftshader.regress@gmail.com Regres: Update test lists @ 5d64ec4c
2019-04-11 capn@google.com Enable multiprocess compilation for all Visual Studio projects
2019-04-11 bclayton@google.com Fix Subzero backend builds.
2019-04-11 bclayton@google.com Fix windows build.


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

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

Change-Id: I2f95239a81c5510536bacab1ce3f7442aefa4431
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207792
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-12 04:35:34 +00:00