Commit Graph

41345 Commits

Author SHA1 Message Date
Khushal
add8cf90b2 remote fonts: Validate format on deserialized glyph.
R=mtklein@google.com, herb@google.com

Bug: 949000
Change-Id: Ib17635ea34db80987a1f2b3c0e6fcc33ab2b7a6b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206173
Commit-Queue: Khushal Sagar <khushalsagar@chromium.org>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Auto-Submit: Khushal Sagar <khushalsagar@chromium.org>
2019-04-05 20:07:10 +00:00
Jim Van Verth
8cc424806e Fix WritePixels and ReadPixels for MacOS Metal
On Mac we weren't syncing the managed buffers correctly, both in the
CPU->GPU direction and the GPU->CPU direction.

Also adds use of fillBuffer for the createTestingOnly texture case, to
avoid creating a CPU-side allocation just to fill it with 0s.

Bug: skia:8243
Change-Id: I4e35f39f9ef121954023aeab2f129e75f4f67c83
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206273
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-04-05 19:47:20 +00:00
Michael Ludwig
053b293993 Support clip masks for SaveLayerRec and drawSpecial in Ganesh
Change-Id: I2e37e28fcbd3631bccc65253604015871503a089
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205929
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-04-05 19:43:10 +00:00
recipe-roller
11078c656a 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/9198ef8ede661f96912f5f226d566ae1f1998f7b [bot_update] Default to refs/heads/master (nodir@google.com)
recipe_engine:
  https://crrev.com/4885460fce04564eccdc6d03503934ec32fcc0c9 Exit early if required binaries aren't found on PATH (garymm@google.com)
  https://crrev.com/51acda8019760f9d510d3b3343a934c0fddcd7d0 [buildbucket] Add is_critical help function (nodir@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I98ec24631f7fbdb912cd995c46fb6fc267f1b630
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206275
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-05 19:11:45 +00:00
Hal Canary
f186900dce SkPDF: Add regression benchmark for multiple path clips
Bug: chromium:947381
Change-Id: Id4a95af1bdc6cf4a04b11b34060df83b944604e4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206267
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-04-05 18:37:33 +00:00
Nathaniel Nifong
298390e487 Add helper for loading files, use let
Bug: skia:
Change-Id: I2da7325f5cfbd451358e183e24dcf21278615eb0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206200
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-04-05 18:31:53 +00:00
Kevin Lubick
c7755d9470 [canvaskit] Bump GPU resource cache to 256MB
Wrong file was previously edited.

Change-Id: I2e78d102ca85a22268481d1958b983e41d72ee3e
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206271
Reviewed-by: Florin Malita <fmalita@chromium.org>
2019-04-05 18:06:18 +00:00
Mike Klein
6aaad1a27a update SkMallocPixelRef docs
- no more color tables
 - explicitly mention that MakeAllocate does not initialize the pixels

Change-Id: I98b9ef1fecc36ea5d9acbae66ccd8979810c2760
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206265
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-04-05 17:46:33 +00:00
Kevin Lubick
cc13fd3d6c [CanvasKit] Add basic support for SkPicture
Can dump SkPicture to an skp, but only for debugging purposes
(no deserialization).

Bug: skia:
Change-Id: I37f3c4dcfdd70b665748773ee6b5135329c6240a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206262
Reviewed-by: Florin Malita <fmalita@chromium.org>
2019-04-05 17:14:55 +00:00
Florin Malita
774aeba9d0 [skottie] Add support for pre-decoding images at load time
Some animations use humongous images which thrash Skia's resource caches
at raster time.

To avoid that, we can

1) force decoding upfront, when the animation is loaded

2) clamp the image size to something reasonable (2K^2)

Add a flag to support this operation mode, and enable for Skottie/WASM.

Change-Id: Id2f127a5200b812b87e588904393d82c80452aa1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206179
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-04-05 16:30:22 +00:00
Brian Osman
937d967457 Always mark bitmap glyph runs as such, to ensure they are properly regenerated
If all glyphs were culled (by being too small), we could end up with a
run that never called setHasBitmap. That would prevent us from looking
at the view matrix on a subsequent draw, when deciding if we needed to
regenerate.

Bug: skia:8955
Change-Id: Ic7a2539762527f91bdb50ab78bdf5801bfda0034
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206266
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-04-05 16:26:23 +00:00
Brian Salomon
531f71c004 Blacklist mobi_wsj.skp on IntelIris 540 and 655
Bug: skia:8929
Change-Id: I322d4980a74b18045c53c5e6f871b4727f884ba1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206079
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-04-05 16:05:03 +00:00
Robert Phillips
0e35ce27e0 Favor full screen clears for platforms that desire initialized memory
In the cases this touches, although we may provably never touch the un-initialized pixels, this may appease the security checks.

Change-Id: I06c87b127db6acf6bc8bb84590d6f93b02f8328d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206261
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-04-05 15:32:03 +00:00
Mike Reed
f88a0e1c91 Revert "Move localmatrix routines to shaderbase, no need to be public."
This reverts commit f4a8d6fc94.

Reason for revert: need to guard this for google3

Original change's description:
> Move localmatrix routines to shaderbase, no need to be public.
> 
> Requires https://chromium-review.googlesource.com/c/chromium/src/+/1554040
> 
> Bug: skia:8941
> Change-Id: I68593bf794d559845b638e1ecbcc658cc5cfe1b4
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206165
> Reviewed-by: Florin Malita <fmalita@chromium.org>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=halcanary@google.com,fmalita@chromium.org,reed@google.com

Change-Id: I2dc2f2ff2291c0b4579f32f1a6a8f283a156f6c0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:8941
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206263
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-04-05 15:15:24 +00:00
Herb Derby
69da7ad49b Use canonical colors for luminance color
We tried an experiment using the full color to see if there were
any performance problems. There were some perf regressions caused by creating
more cached strikes because the keys were created using full
color instead of a canonical color. Change back to using
canonical color.

BUG=chromium:929858

Change-Id: Ief8fb9dc21e118547fcac958d63498b22cc79b95
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/193376
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-04-05 14:53:52 +00:00
Mike Reed
f4a8d6fc94 Move localmatrix routines to shaderbase, no need to be public.
Requires https://chromium-review.googlesource.com/c/chromium/src/+/1554040

Bug: skia:8941
Change-Id: I68593bf794d559845b638e1ecbcc658cc5cfe1b4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206165
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2019-04-05 14:29:02 +00:00
Robert Phillips
84614c37cc checkCommandBuffers when skipping a submit in submitCommandBuffer
This change, when skipping submits, now checks the fences from previously submitted command buffers and freed/released/recycled resources connected to any completed command buffers

Bug: 949567
Change-Id: I22fe42ae37f6fb12b30cd567c282644ef81caff7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206260
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-04-05 14:08:32 +00:00
Mike Klein
0cb3175c07 lift main-thread limit on iOS bots
I noticed this today while working on something else.
Looks like we added --threads 0 hoping it'd help something
on iOS a long time ago, and we decided it had no effect,
but didn't revert the change.

Bug: skia:6748
Change-Id: I4fb6722ae79ca21d1f7ee96bcb31b8ffb5319143
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202010
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Stephan Altmueller <stephana@google.com>
2019-04-05 14:06:52 +00:00
Nigel Tao
ef40e33110 Rewrite some SkWuffsCodec designated initializers
This should have been part of 48aa221 "Update Wuffs version", but was
missed.

Bug: skia:8235
Bug: skia:8764
Change-Id: I3d73ca71872431955ad66d67de4166bdda0a1071
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206141
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2019-04-05 14:02:22 +00:00
Brian Osman
58d7d0a872 Use GrGLenum consistently for cached program binaryFormat
Change-Id: I43f8b9fb580ab4d3a7e41cf43dd2a6b6a232376b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206178
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-04-05 13:57:22 +00:00
Jim Van Verth
568eb8db6d Some more Metal memory fixes.
* Use buffer rather than texture to create test texture
* Get rid of zombie issue

Bug: skia:8243
Change-Id: I681b7ed5583a3806fd723f608068abf716ad70a3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206161
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-04-05 13:09:02 +00:00
Jim Van Verth
d9c6b75d4d Add mm files to cmake sources
Bug: skia:8938
Change-Id: Ic9c9859890ad18d1ec72ce72fc93d4635595affd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206164
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-04-05 13:07:32 +00:00
Robert Phillips
8e1529c834 Stop using pendingIO in read/writeSurfacePixels (take 2)
This changes the implementation to always flush for these operations.
Once partial DAG flushes are implemented this behavior will be better than the old method.

The following two CLs have suppressed all the failures that caused the first try to be reverted:

https://skia-review.googlesource.com/c/skia/+/206069 (Blacklist two more GMs for gltestthreading)
https://skia-review.googlesource.com/c/skia/+/206171 (Disable the TextureStripAtlasManagerColorFilterTest on MoltenVK)

TBR=bsalomon@google.com
Change-Id: Ie2d09ebcba03f9987a42038605801f7341fc72a6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206177
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-04-05 12:51:52 +00:00
Robert Phillips
5586379965 Disable the TextureStripAtlasManagerColorFilterTest on MoltenVK
AFAICT MoltenVK isn't dropping all its work when we call GrContext::abandonContext. It looks like the bot is dying when trying to submit work when draining its queue.

	unit test  TextureStripAtlasManagerColorFilterTest
    0   dm                                  0x00000001088f041a _ZL13crash_handleri + 202
    1   libsystem_platform.dylib            0x00007fff73cdff5a _sigtramp + 26
    2   CoreFoundation                      0x00007fffa5da0af0 __kCFAllocatorSystemDefault + 0
    3   dm                                  0x0000000109734cd3 _ZN21MVKCmdBufferImageCopy6encodeEP17MVKCommandEncoder + 35
    4   dm                                  0x000000010971879b _ZN17MVKCommandEncoder6encodeEP31MVKQueueCommandBufferSubmission + 107
    5   dm                                  0x000000010971863c _ZN16MVKCommandBuffer7executeEP31MVKQueueCommandBufferSubmissionRK29MVKCommandBufferBatchPosition + 124
    6   dm                                  0x000000010972d29e _ZN31MVKQueueCommandBufferSubmission7executeEv + 94
    7   dm                                  0x000000010972c40c ___ZN8MVKQueue6submitEP18MVKQueueSubmission_block_invoke + 28
    8   libdispatch.dylib                   0x00007fff7399f5fa _dispatch_call_block_and_release + 12
    9   libdispatch.dylib                   0x00007fff73997db8 _dispatch_client_callout + 8
    10  libdispatch.dylib                   0x00007fff739ac217 _dispatch_queue_serial_drain + 635
    11  libdispatch.dylib                   0x00007fff7399f166 _dispatch_queue_invoke + 373
    12  libdispatch.dylib                   0x00007fff739acf0d _dispatch_root_queue_drain_deferred_wlh + 332
    13  libdispatch.dylib                   0x00007fff739b0d21 _dispatch_workloop_worker_thread + 880
    14  libsystem_pthread.dylib             0x00007fff73ce8fd2 _pthread_wqthread + 980
    15  libsystem_pthread.dylib             0x00007fff73ce8be9 start_wqthread + 13

Bug: skia:7959
Change-Id: I175da616b581b745faf614c542a1adb88a72c190
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206171
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-04-05 12:14:22 +00:00
skia-recreate-skps
604d5a3fca Update go_deps asset
Automatic commit by the UpdateGoDEPS bot.

TBR=borenet@google.com

Change-Id: I75bd63bf018479f1118a9ed21eb7df4bd59549ad
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206194
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-04-05 05:48:00 +00:00
skia-autoroll
1f58a8e457 Roll third_party/externals/angle2 43997017b0ed..fb201c5e208d (6 commits)
43997017b0..fb201c5e20


git log 43997017b0ed..fb201c5e208d --date=short --no-merges --format='%ad %ae %s'
2019-04-05 spang@chromium.org Implement resource management for GL_EXT_memory_object
2019-04-04 spang@chromium.org Generate entrypoints for GL_EXT_memory_object & GL_EXT_semaphore
2019-04-04 syoussefi@chromium.org Vulkan: clean up framebuffer clear
2019-04-04 jmadill@chromium.org Use compressed internal format as 'format' in tables.
2019-04-04 jmadill@chromium.org Minor cleanups to copy vertex.
2019-04-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src ef807f4bc543..1240db678cae (1 commits)


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

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

Change-Id: I856e5e2848c2414a77a044d8014f3f734c80bffe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206221
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-05 04:55:30 +00:00
skia-autoroll
8f9f7b89fd Roll ../src 3ae962179e68..3e2882be2dde (447 commits)
3ae962179e..3e2882be2d


Created with:
  gclient setdep -r ../src@3e2882be2d

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

Change-Id: Id2608e645d3e9e1a9e5cbf5c8df8736f140fb34b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206222
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-05 04:48:30 +00:00
skia-autoroll
f8f4cd0eca Roll third_party/externals/swiftshader 225a13016b1c..0e3d328ac338 (5 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/225a13016b1c..0e3d328ac338


git log 225a13016b1c..0e3d328ac338 --date=short --no-merges --format='%ad %ae %s'
2019-04-04 bclayton@google.com SpirvRoutine: Verify create functions are called once per id
2019-04-04 senorblanco@chromium.org Implement an Android NDK build of SwiftShader using the CMake files.
2019-04-04 schuffelen@google.com Create a recursive version of MutexLock, and apply it to EGL.
2019-04-04 bclayton@google.com Renderer.cpp: Refactor setBatchIndices...
2019-04-04 swiftshader.regress@gmail.com Regres: Update test lists @ 225a1301


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

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

Change-Id: I3d59b08740c3229ff1f323484db2a7adf3136cca
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206223
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-05 04:34:30 +00:00
recipe-roller
b0ababfe5a 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/9f74913e5162b45b1d14c417a4accb04967a3f90 Roll vpython to git_revision:2973c0809cdc7122b7123e42b163a54d4983503f. (jbudorick@chromium.org)
  https://crrev.com/dbc721d65f0db44bc1341509c92c66664fd5978e Add gclient recipe_modules config for emscripten_releases LUCI project (dschuff@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I291a8704d20a4b5605ed7f8f61b0fad0a5d95b0f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206174
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-04 23:37:00 +00:00
Ben Wagner
51874e3e37 Allow selection of shaper wrapping algorithm.
Change-Id: I8103348de810863088758d26b6b2d8062827105e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206170
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-04-04 21:03:00 +00:00
Hal Canary
5c83ae81aa SkPDF: Use fewer complex PathOps to speed up clipping
Test from bug is 200x faster

Bug: chromium:947381
Change-Id: Ie3fc38d2b39cb8d8fc70d388a25464fcbb1eaa54
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206166
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-04-04 20:32:30 +00:00
Malay Keshav
e4628b1072 Make SkRRect work with axis aligned rotation transforms
This patch allows SkRRect::trasform() work with any axis aligned matrix
transform meaning it now works with a rotation of 90 or 270 degrees.

Adds relevant unit tests.

Bug: skia:8944
Change-Id: I63678ec0e3556c181517526de55d84666afeb681
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205860
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-04-04 18:43:30 +00:00
Kevin Lubick
e21616804a [canvaskit] Bump GPU resource cache to 256MB
Change-Id: I057c1af8bd7789433ac41904c45a3f8ba2fdb7e9
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206078
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-04-04 18:04:39 +00:00
Brian Salomon
d538d3df27 Handle promise texture image fulfill returning nullptr.
Bug: chromium:948249
Change-Id: Id5d9b732a0d9612b7ed562041fa3544fd7c39f71
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206076
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-04-04 18:04:19 +00:00
Florin Malita
e797dfba63 Revert "[canvaskit] Bump GPU resource cache to 256MB"
This reverts commit a93aa74a39.

Reason for revert: Busted skottie.skia.org

Original change's description:
> [canvaskit] Bump GPU resource cache to 256MB
> 
> Bug: skia:
> Change-Id: I398ef2e79076018f3f62e62a2040052eeaf60784
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206066
> Commit-Queue: Florin Malita <fmalita@chromium.org>
> Reviewed-by: Kevin Lubick <kjlubick@google.com>

TBR=kjlubick@google.com,fmalita@chromium.org

Change-Id: I0e6181a6ded0adc40531f936fc495f89400516a1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206077
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-04-04 16:53:41 +00:00
Florin Malita
b161a7d965 [skottie] Fix gradient ramp interaction with non-atomic draws
Currently, shader effects are applied via layers for non-atomic draw fragments.

This is incorrect, as shaders on layer paints are ignored.

Update to always propagate the shader to leaf node paints.

Change-Id: I59f5a5b874e87827f61844969550600fa39e22a3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205931
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-04-04 16:52:59 +00:00
Robert Phillips
b166469fdd Blacklist two more GMs for gltestthreading
These two GMs started having 1-2 magnitude diffs after the following CL landed:

https://skia-review.googlesource.com/c/skia/+/205584 (Stop using pendingIO in read/writeSurfacePixels)

This is because in the non-threaded case, Ganesh now always flushes when the SWMash helper uploads a mask - changing how backing GrSurfaces are reused.


Change-Id: I5061d0bc79ea958f6ff8984c392d0baeb3cc298c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206069
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2019-04-04 16:46:59 +00:00
Ethan Nicholas
ca664a4805 fixed skslc crash when the last token in a file is invalid
Bug: skia:8832
Change-Id: I691c1129e8dbdaad0446a166d0ae865d9ee59048
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206074
Auto-Submit: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-04-04 16:24:49 +00:00
Brian Salomon
8cefa3ed35 Avoid flushing due to cache pressure when nothing will become purgeable.
Bug: skia:8927
Change-Id: I3d92868ebf133ebbf229a9349a0194a9ffe35ad0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205921
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-04-04 16:12:59 +00:00
Greg Daniel
ee54f23b79 Batch up pipelineBarrier calls in vulkan.
Bug: skia:8933
Change-Id: I1bc8b2f8b9292334edef1de748ee2d553006d9fe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205924
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2019-04-04 15:56:39 +00:00
Florin Malita
a93aa74a39 [canvaskit] Bump GPU resource cache to 256MB
Bug: skia:
Change-Id: I398ef2e79076018f3f62e62a2040052eeaf60784
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206066
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-04-04 15:49:01 +00:00
Hal Canary
d61446666e Examples: compile faster
17m42.185s --> 0m10.665s

Change-Id: I2de9ddf9860f680e64e7c333e2e90755b050cf91
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204541
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-04-04 15:43:59 +00:00
Mike Reed
e2aa08bf19 Reland "rely on clients to opt in to legacy enums"
This reverts commit 68cbc925ec.

Reason for revert: guard added to google3

Original change's description:
> Revert "rely on clients to opt in to legacy enums"
> 
> This reverts commit 98f4e81d49.
> 
> Reason for revert: prolly broke google3
> 
> Original change's description:
> > rely on clients to opt in to legacy enums
> > 
> > Bug: skia:8937
> > Change-Id: I4cd9d44e87ce3309884d563c8e11336f0c39faf0
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205934
> > Reviewed-by: Mike Reed <reed@google.com>
> > Commit-Queue: Mike Reed <reed@google.com>
> > Auto-Submit: Mike Reed <reed@google.com>
> 
> TBR=reed@google.com
> 
> Change-Id: I1a14e531b3718e27e161544dbc44d55582e1f83a
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:8937
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206064
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=reed@google.com

Change-Id: I929fa97e05f76d50c6c3266f434c1d06803bdc30
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:8937
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206073
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-04-04 15:23:21 +00:00
Ben Wagner
1383a38e1d Allow users to create stock shaping iterators.
This provides a way to re-use the existing basic shaping iterators.

Change-Id: I148dd513dcd01381301e7835672d0d605c1c462b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205933
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-04-04 15:04:59 +00:00
Robert Phillips
cd657f1d97 Revert "Stop using pendingIO in read/writeSurfacePixels"
This reverts commit 76cf552e28.

Reason for revert: Maybe breaking some bots

Original change's description:
> Stop using pendingIO in read/writeSurfacePixels
> 
> This changes the implementation to always flush for these operations.
> Once partial DAG flushes are implemented this behavior will be better than the old method.
> 
> Change-Id: I1f9edd33dcf5aa15cc5dcdf8f0e06a3b3cd88f48
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205584
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>

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

Change-Id: If3e8cc9a6e92b98f85bc3faf2b99fba7395ec946
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206067
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-04-04 14:24:42 +00:00
Mike Reed
68cbc925ec Revert "rely on clients to opt in to legacy enums"
This reverts commit 98f4e81d49.

Reason for revert: prolly broke google3

Original change's description:
> rely on clients to opt in to legacy enums
> 
> Bug: skia:8937
> Change-Id: I4cd9d44e87ce3309884d563c8e11336f0c39faf0
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205934
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
> Auto-Submit: Mike Reed <reed@google.com>

TBR=reed@google.com

Change-Id: I1a14e531b3718e27e161544dbc44d55582e1f83a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:8937
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206064
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-04-04 14:16:01 +00:00
Kevin Lubick
a064c2812e [canvaskit] Make SkImageShader from SkImage
This removes a few src/ includes as well, to avoid using private
implementations like we did.

Change-Id: Ic9a21d04a131c30e17dfca6d8ea45bdefd362aa7
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206062
Reviewed-by: Mike Reed <reed@google.com>
2019-04-04 13:42:41 +00:00
Ethan Nicholas
f06576b9af SkSL now properly errors when invocations are used outside of a geometry shader
Bug: skia:8843
Change-Id: Ibe1e57358520bc989dd5e479aaa1dd38fe573d5c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205928
Auto-Submit: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-04-04 13:18:19 +00:00
Robert Phillips
76cf552e28 Stop using pendingIO in read/writeSurfacePixels
This changes the implementation to always flush for these operations.
Once partial DAG flushes are implemented this behavior will be better than the old method.

Change-Id: I1f9edd33dcf5aa15cc5dcdf8f0e06a3b3cd88f48
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205584
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-04-04 13:04:39 +00:00
Kevin Lubick
ee91c07a76 [canvaskit] adding drawAtlas to canvas API
Also re-works colors in the JS part to be unsigned,
so there's less chance for oopsies when passing them
to the C++ side.

Change-Id: I3f56d22e873e1407c402606444c50b76dd34ffd4
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204543
Reviewed-by: Mike Reed <reed@google.com>
2019-04-04 13:03:35 +00:00