Commit Graph

46301 Commits

Author SHA1 Message Date
Julia Lavrova
89e678dea2 Skip vertical clipping in unclear case of font height=font size
Change-Id: Ib58c34f6ab3ff36e73b2d9d4b0d4f5d03c72c9dd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267041
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-01-28 17:17:06 +00:00
Kevin Lubick
f76da63fbd [canvaskit] Update build script to support latest Emscripten
Add workaround for https://github.com/emscripten-core/emscripten/issues/10072

Note to reviewer, please check out the steps I added
in canvaskit/README.md to document this process.

Bug: skia:9816
Change-Id: Idbe7ff08ac62f4f4d70e656384831b8d24c4a684
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266941
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-01-28 15:41:58 +00:00
Robert Phillips
99dead9830 Add SkImage::MakeRasterFromCompressed and make MakeFromCompressed fall back to decompression for unsupported compression types (take 2)
This is intended to make using compressed textures easier since developers can just provided compressed data and it will be uploaded to the GPU in some way, shape or form.


TBR=reed@google.com
Change-Id: I8c672ccc7db5cd098f629c3469ae7cbdc7436392
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266939
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-01-28 14:03:14 +00:00
skia-recreate-skps
9f8c6ea7af Update Go Deps
Change-Id: I848176d90b8e4dceca35d649948bf9e5b6eda721
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266985
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-01-28 05:28:33 +00:00
skia-autoroll
c9653c80c6 Roll ../src 82459860eaf4..77c4d4c42f40 (425 commits)
82459860ea..77c4d4c42f


Created with:
  gclient setdep -r ../src@77c4d4c42f

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-skia-autoroll
Please CC reed@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Cq-Include-Trybots: skia/skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Bug: None
Tbr: reed@google.com
Change-Id: I2e0381cc063b52039ff08b7dba47ec129a4e171b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266979
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-28 04:52:04 +00:00
skia-autoroll
067755621c Roll third_party/externals/swiftshader 748ad200897b..34e16df059f8 (6 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/748ad200897b..34e16df059f8

git log 748ad200897b..34e16df059f8 --date=short --first-parent --format='%ad %ae %s'
2020-01-27 sugoi@google.com Revert "VK_EXT_shader_stencil_export support"
2020-01-27 sugoi@google.com Sample location fix
2020-01-27 capn@google.com Avoid ignoring unsuccessful routine creation
2020-01-27 capn@google.com Implement byte swizzle operations
2020-01-27 bclayton@google.com Docs: Add VulkanShaderDebugging.md
2020-01-27 sugoi@google.com VK_EXT_shader_stencil_export support

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

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-skia-autoroll
Please CC reed@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Cq-Include-Trybots: skia/skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: reed@google.com
Change-Id: I892d0993e68a9d7e9960a44a46cb04e0934d2931
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266980
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-28 04:36:03 +00:00
skia-autoroll
211075b406 Roll third_party/externals/angle2 fcef6dcb6ab2..086aded3cb74 (9 commits)
fcef6dcb6a..086aded3cb

git log fcef6dcb6ab2..086aded3cb74 --date=short --first-parent --format='%ad %ae %s'
2020-01-27 syoussefi@chromium.org Return the correct location count for matrices in structs
2020-01-27 courtneygo@google.com Vulkan: Allow user to specify preferred device
2020-01-27 syoussefi@chromium.org Fix atomicAdd validation w.r.t to swizzles
2020-01-27 jonahr@google.com Expose eglGetMscRateCHROMIUM from EGL_CHROMIUM_sync_control
2020-01-27 syoussefi@chromium.org Vulkan: updateActiveImages: process each image once
2020-01-27 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-loader/src 37d3a235af2c..310fb8617946 (1 commits)
2020-01-27 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src b97057e7f747..1b3441036a8f (6 commits)
2020-01-27 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 5ef91b82cbed..748ad200897b (6 commits)
2020-01-27 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-tools/src 93ab50fc27de..b181c1a7ddb5 (4 commits)

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

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC reed@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: reed@google.com
Change-Id: If098f3433234678a7f813eff27ac2c6d8be9cdc6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266981
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-28 04:34:23 +00:00
Brian Salomon
7ee8ca5a32 Fix bug in NPOT shader wrap mode impl
TBR: michaelludwig@google.com

Change-Id: Ib44081d8ad2cb6fdb7be0fd6a088eda0eeb653bf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266947
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-01-28 03:18:00 +00:00
Brian Osman
fd7fd960be Revert "In GrSkSLFP, always use a coord transform"
This reverts commit 36d6c599c3.

Reason for revert: May be responsible for Chrome roll failure? (Less likely than asyncRescaleAndReadPixels, just want to be safe).

Original change's description:
> In GrSkSLFP, always use a coord transform
> 
> The old logic would use sk_FragCoord if no matrix was supplied, but this
> was just wrong. Note that many uses of this class already supply a
> matrix (runtime shader), but some don't. In those cases, child effects
> that were expecting local coords as input would produce the wrong
> results.
> 
> Change-Id: I1d1092fc6c555225ddcfc9f19f346618ef777646
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266855
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

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

Change-Id: Ib7fd122ac625e8f8792518d82ff4c9cbdd37e448
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266946
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-01-28 00:28:02 +00:00
Julia Lavrova
aec9c8492f Dealing with SkScalar values in cache
Change-Id: I0da874242f243b3d3e71834240adc424bcb965c8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266558
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2020-01-27 22:41:56 +00:00
Florin Malita
b67ca7473f [skottie] Switch SkMatrix44 -> SkM44
Change-Id: If58516a0dad5b51debf497b069713fb6f37999e6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266940
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-01-27 21:42:56 +00:00
Mike Reed
5a36a3a4c3 don't need to include deprecated Sk3D.h
Change-Id: I0259a5e7b32be3b93cf52de3efc2859886d31a4e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266626
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-01-27 21:28:26 +00:00
Herb Derby
4d72171297 Rename AtlasID to PlotLocator
I also tried to update variables and constants to match.

Change-Id: I2bbcc212f89bdecafb8a6b832c0de021ff03f2b2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266569
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-01-27 21:21:16 +00:00
Brian Salomon
a7e5c7cd1a Fix case of asyncRescaleAndReadPixelsYUV420 for case where SkSurface is
backed by non-textureable FBO and no scaling/color space conversions is
performed.

Bug: chromium:1040643

Change-Id: I9fe9dc759fc8b2803569afaf874debd05efbfa33
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266850
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-01-27 21:17:56 +00:00
Robert Phillips
3da9e94289 Revert "Add SkImage::MakeRasterFromCompressed and make MakeFromCompressed fall back to decompression for unsupported compression types"
This reverts commit 3234ce1347.

Reason for revert: missing etc1.h

Original change's description:
> Add SkImage::MakeRasterFromCompressed and make MakeFromCompressed fall back to decompression for unsupported compression types
> 
> This is intended to make using compressed textures easier since developers can just provided compressed data and it will be uploaded to the GPU in some way, shape or form.
> 
> Change-Id: Ieed008f083d6e3594eaa9a02bc5348e00ee60d2a
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/265601
> Reviewed-by: Mike Reed <reed@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>

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

Change-Id: Ia497e6767c43ab6f8bfeb28e70244107a1442cf2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266937
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-01-27 21:05:46 +00:00
Brian Osman
36d6c599c3 In GrSkSLFP, always use a coord transform
The old logic would use sk_FragCoord if no matrix was supplied, but this
was just wrong. Note that many uses of this class already supply a
matrix (runtime shader), but some don't. In those cases, child effects
that were expecting local coords as input would produce the wrong
results.

Change-Id: I1d1092fc6c555225ddcfc9f19f346618ef777646
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266855
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-01-27 20:43:56 +00:00
Robert Phillips
3234ce1347 Add SkImage::MakeRasterFromCompressed and make MakeFromCompressed fall back to decompression for unsupported compression types
This is intended to make using compressed textures easier since developers can just provided compressed data and it will be uploaded to the GPU in some way, shape or form.

Change-Id: Ieed008f083d6e3594eaa9a02bc5348e00ee60d2a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/265601
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-01-27 20:15:36 +00:00
Herb Derby
2bdf95cb4c Swap dtor order of SkSTArenaAlloc and SkArenaAlloc v.2
The dtor of SkSTArenaAlloc is called before SkArenaAlloc which
technically invalidates the pointers stored in SkSTArenaAlloc's
inline memory. This causes MSAN to flag the pointers stored there
as uninitialized.

bugs:
b/72759286 b/148266659

Change-Id: If532399a93d558ea6eb1616e1a051e3263669564
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266851
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-01-27 20:07:56 +00:00
Eric Boren
999d1d7df8 [infra] Update infra dep
I'm hoping this fixes UpdateGoDeps.

Bug: skia:9505
Change-Id: I4493f61f0257176b0e90e50bd9456041dc398a51
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266843
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2020-01-27 19:48:46 +00:00
recipe-roller
9c1d30dd16 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (depot_tools) into this repository.

depot_tools:
  https://crrev.com/f437869d41071b4f8445e874f0acbc2cb0c4f13c (jbudorick@chromium.org)
    gclient: allow clients to pass deps_file name as config kwarg.

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Id042f5e1fbb0096c9d3e0f3eb734557dc7f09db0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266868
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>
2020-01-27 19:28:58 +00:00
recipe-roller
b7cc9d72fd Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (depot_tools) into this repository.

depot_tools:
  https://crrev.com/1248b8ef4a7b3747c9f8aaa5a077316d34ae7435 (pkasting@chromium.org)
    Fix a python invocation that wasn't replaced with vpython.

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I7a4b132064005e3097ef01e7887f4ee75872641f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266862
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>
2020-01-27 19:01:36 +00:00
Mike Klein
f68213fc4d draw whole grid
We're drawing the large grid over the bottom
row of the small grid.

Change-Id: I0d2d724cf5a209905825165f969f377af1d39af3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266859
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-01-27 18:43:36 +00:00
Florin Malita
e7bd58f512 [skottie] Cleanup: convert transform adapters to new pattern
Use discardable adapters for 2D-transforms, 3D-transforms, cameras
and transform effects.

Improvements:
  - ~4KB smaller object size
  - 3D rotation and orientation now compose correctly
    (instead of overriding each other)
  - streamlined no-op check discards no-effect transform nodes more
    aggressively (20% more nodes discarded)

TBR=
Change-Id: If75e53021871a15b7ea9e3ccb988c734a018f06d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266635
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-01-27 18:26:46 +00:00
Mike Klein
2fa68dbcc7 rm mtklein@chromium
Change-Id: I10f9083ebda6038026cbc322b07528a4da820634
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266858
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-01-27 18:20:06 +00:00
Brian Salomon
d4bf54eac6 Revert "Switch runtime SkSL to always sample at explicit coords"
This reverts commit b1e9971eb7.

Reason for revert: crbug_905548 GM drawing incorrect
before: https://gold.skia.org/img/images/32964364a8ac12af5a68bf95c24fb90c.png
after : https://gold.skia.org/img/images/0918b58c93c770c20cf475c37a70b528.png

Original change's description:
> Switch runtime SkSL to always sample at explicit coords
> 
> Change-Id: I4647d0f4a098acf399e1add1d87ca0752d0fdf90
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266381
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

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

Change-Id: I0fb892148a424d5928878a49e3ccd5bfb9485b23
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266840
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-01-27 17:50:56 +00:00
Jim Van Verth
28a9b122f5 Revert "Wrap page index packing in helper methods."
This reverts commit cb93a20d9a.

Reason for revert: Still seeing some corruption issues with Chrome text that may be related to this.

Original change's description:
> Wrap page index packing in helper methods.
> 
> Also simplifies the shaders if we know there's only one atlas texture.
> 
> Change-Id: I81063d423fd56cf91caee83ba9eae9d988aa249b
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266566
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

TBR=jvanverth@google.com,herb@google.com,brianosman@google.com

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

Change-Id: I031f27c07929b1f66581ed8e94e1056d9107bf75
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266633
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2020-01-27 16:30:25 +00:00
Brian Osman
b1e9971eb7 Switch runtime SkSL to always sample at explicit coords
Change-Id: I4647d0f4a098acf399e1add1d87ca0752d0fdf90
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266381
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-01-27 15:31:05 +00:00
Sergey Ulanov
f1b2b42613 Fix GrSmallPathRenderer to respect max texture size.
Previously GrSmallPathRenderer was always trying to create a 2048x2048
atlas texture, ignoring texture size limits of the target device. As
result the allocation fails when max texture size is below 2048. Fixed
GrSmallPathRenderer to use GrDrawOpAtlasConfig to calculate appropriate
atlas texture dimensions.

Bug: fuchsia:43693
Change-Id: Ieb5d32ab385dcd65a734c22fcb87cf50546109a9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266425
Auto-Submit: Sergey Ulanov <sergeyu@chromium.org>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2020-01-27 15:18:05 +00:00
Kevin Lubick
52379335eb [canvaskit] Fix test for drawOnce
I belatedly realized that drawOnce's test would always be blank now
that drawOnce is async.

Change-Id: If30bbdd895039bd8de050a59dd348ba6849c5835
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266631
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-01-27 15:11:34 +00:00
Bryce Thomas
2c5b856a7f Add drawOnce() API to SkSurface.
The existing |SkSurface.requestAnimationFrame| API provides a convenient way of
drawing Skia animations using the same idiom as the well known
|Window.requestAnimationFrame|.  It gracefully handles providing the caller with
access to the right canvas, as well as flushing after the user-supplied
callback.

The new |SkSurface.drawOnce| API added in this change provides the same
conveniences around access to the right canvas and flushing, but for the
use-case where the user wishes to draw a single frame only.  Importantly, this
new API disposes of the SkSurface upon completion, i.e. frees the memory
associated with the underlying pixel storage an surface.  This avoids memory
leaks that occur when |SkSurface.requestAnimationFrame| is used for single-frame
purposes.

Bug: NONE
Change-Id: Ic4e48e65dffc4809513ceaf72260ac0432b98952
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/265604
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-01-27 13:45:47 +00:00
Nathaniel Nifong
732248c2f1 Use html tags instead of markdown for images in debugger user guide
No-Try: true
Docs-Preview: https://skia.org/?cl=266559
Change-Id: Ib1945f2f6380511d1657437e99859fb79f88529c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266559
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
2020-01-27 13:41:45 +00:00
skia-autoroll
0fb0a21bd9 Roll ../src 2ae619822948..82459860eaf4 (508 commits)
2ae6198229..82459860ea


Created with:
  gclient setdep -r ../src@82459860ea

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-skia-autoroll
Please CC reed@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Cq-Include-Trybots: skia/skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Bug: None
Tbr: reed@google.com
Change-Id: Ic86c28fea34ff3ed78f4c137edb9c78452492b54
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266766
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-27 04:50:55 +00:00
skia-autoroll
bee41f98c6 Roll third_party/externals/angle2 f3b4e6c3030f..fcef6dcb6ab2 (15 commits)
f3b4e6c303..fcef6dcb6a

git log f3b4e6c3030f..fcef6dcb6ab2 --date=short --first-parent --format='%ad %ae %s'
2020-01-25 flibitijibibo@gmail.com For GGP builds, define __ggp__ manually.
2020-01-25 jmadill@chromium.org Vulkan: Update active textures before setupDraw().
2020-01-25 j.vigil@samsung.com Implement EGL_IMG_context_priority
2020-01-25 cnorthrop@google.com Tests: Add a perf test using traces
2020-01-24 jmadill@chromium.org Vulkan: Command graph linearization (Step 1).
2020-01-24 tdusnoki@inf.u-szeged.hu Disable ANGLE GL and Vulkan on Windows on ARM
2020-01-24 jgilbert@mozilla.com Validate `context` before use in ValidateStreamConsumerGLTextureExternalAttribsNV.
2020-01-24 artyom@fb.com GL_OVR_multiview shouldn't be defined for WebGL spec'ed shaders
2020-01-24 jdarpinian@chromium.org Clamp array accesses when robust buffer access not available
2020-01-24 jmadill@chromium.org Fix undefined behaviour in ClearTest.
2020-01-24 jmadill@chromium.org Add feature flags to EGLPlatformParameters "tie".
2020-01-24 syoussefi@chromium.org Vulkan: Remove inactive shader inputs in the translator
2020-01-24 syoussefi@chromium.org Fix image linking not verifying same format
2020-01-24 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-tools/src aaba1e4e6aec..93ab50fc27de (2 commits)
2020-01-24 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader c514ab001bb0..5ef91b82cbed (4 commits)

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

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC reed@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: reed@google.com
Change-Id: Iaaf5b9a52f5e9ae8a4b8a8f98e7367dcc46efac1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266768
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-27 04:45:05 +00:00
skia-autoroll
764e848851 Roll third_party/externals/swiftshader 5ef91b82cbed..748ad200897b (6 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/5ef91b82cbed..748ad200897b

git log 5ef91b82cbed..748ad200897b --date=short --first-parent --format='%ad %ae %s'
2020-01-24 capn@google.com Don't override vkQueuePresentKHR() failure codes with VK_SUBOPTIMAL_KHR
2020-01-24 capn@google.com Discern between per-swapchain and vkQueuePresent command results
2020-01-24 amaiorano@google.com Subzero: replace globals with external memory for constant vectors
2020-01-24 amaiorano@google.com SubzeroReactor: implement missing atomic ops
2020-01-24 bclayton@google.com Regres: add cmd/run_testlist
2020-01-24 bclayton@google.com Regres: Restructure directories for main packages

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

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-skia-autoroll
Please CC reed@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Cq-Include-Trybots: skia/skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: reed@google.com
Change-Id: I6f618b65a4e1d08c8c147ca4b2015f25ae893117
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266767
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-27 04:35:25 +00:00
Mike Klein
f93a8436ce support dither in skvm
Dither is handled here by the blitter itself,
when requested and the shader is not constant.

A little refactoring to hang onto the integer (dx,dy)
dst coordinates we need, a little math using them,
and some plumbing to pass around whether or not to
dither and if so how much.

Left another TODO to think about unpremul dither.

Change-Id: Ia660cf12cc729578684233a48088aa703563ecd9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266362
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-01-26 23:10:54 +00:00
Mike Klein
d92e4e9de7 cache only when SkVM has a JIT
It's not nearly as important to cache interpreted programs
as it is to cache JIT'd programs.

This should also fix the broken Flutter roll: they don't have
__cxa_thread_atexit(), but SKVM_JIT is not set, avoiding the
cache.

Change-Id: Id006b5909fb0c81c2ba9a0f2bbb66fd124ba19fd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266759
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-01-26 20:17:54 +00:00
Mike Reed
d3963a3302 offer raw-array variant of remaining 44 methods
Change-Id: I11f938255dc0f8e5587a881159ebf8eac06870f1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266624
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-01-26 18:40:04 +00:00
skia-recreate-skps
f85fe13668 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I1db6deb2e874e5b5c56bbcc72eec68eecae229fb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266714
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-01-26 06:09:21 +00:00
Mike Reed
2d4a28ef9f use vsphere to control light
Change-Id: Iec36d5bff6d1d6cd07a55c44d46e49f922166312
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266717
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-01-26 04:02:50 +00:00
Mike Reed
e580995f25 virtual sphere
Change-Id: Id79169837fddd0a608083a925d263fe1d97494f4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266622
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-01-26 02:07:50 +00:00
Mike Reed
db301b73f8 restore til I understand what changed
Change-Id: I58abeb7405cdefe6d9882b7c9977e051143fcb67
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266716
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-01-26 02:01:50 +00:00
Mike Reed
00a9764319 consolidate examples to 1 matrix type
Change-Id: I40fcf8290608b838cd6bd189f2905b6ce16a12f0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266681
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-01-26 00:06:20 +00:00
Brian Salomon
e014367311 Revert "Revert "Use bitmap subset for comparison in texture_domain_effect GMs.""
This reverts commit a6b7c523b2.

Change-Id: Id88ac29a77c234189e7652eadae08ed5aef886a5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266679
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-01-25 16:05:30 +00:00
Mike Reed
78184a3ce6 Revert "convert sample completely to SkM4"
This reverts commit e455d2e708.

Reason for revert: more testing

Original change's description:
> convert sample completely to SkM4
> 
> Change-Id: Ib8fdf0f9c326f0809d132da650eaccc20e58f9f8
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266676
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=reed@google.com

Change-Id: I946dbeb166b00a53aa7b3f470322c46d6263e9a7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266678
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-01-25 03:20:39 +00:00
Mike Reed
e455d2e708 convert sample completely to SkM4
Change-Id: Ib8fdf0f9c326f0809d132da650eaccc20e58f9f8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266676
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-01-25 03:05:39 +00:00
Brian Salomon
a6b7c523b2 Revert "Use bitmap subset for comparison in texture_domain_effect GMs."
This reverts commit 6377f1c1f9.

Reason for revert: doesn't work with ES2 w/out NPOT extension

Original change's description:
> Use bitmap subset for comparison in texture_domain_effect GMs.
> 
> This used to do 2 texel subset draws. The second draw tested a
> non-identity local matrix. Now the first draw exercises local matrix and
> the second draws with a proxy that represents just the bitmap subset to
> give a better basis for comparison.
> 
> Change-Id: Ia41330598626c8cc656fd1ca2e289c8184847807
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266616
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

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

Change-Id: I08464aab72b157909664d64452db25f22d40bde3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266677
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-01-25 02:29:19 +00:00
Brian Salomon
6377f1c1f9 Use bitmap subset for comparison in texture_domain_effect GMs.
This used to do 2 texel subset draws. The second draw tested a
non-identity local matrix. Now the first draw exercises local matrix and
the second draws with a proxy that represents just the bitmap subset to
give a better basis for comparison.

Change-Id: Ia41330598626c8cc656fd1ca2e289c8184847807
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266616
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-01-25 02:06:09 +00:00
recipe-roller
9e3cbb7c91 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (depot_tools) into this repository.

depot_tools:
  https://crrev.com/0aa48cc1dec795055e1acddb6b95ada385f1dee1 (jbudorick@chromium.org)
    presubmit: restore default 8-minute timeout.

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I9f0d8ae72a118c8b699077114ad4b7cc631cfd9f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266657
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>
2020-01-25 01:41:29 +00:00
recipe-roller
1b91112c61 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (depot_tools) into this repository.

depot_tools:
  https://crrev.com/bf4e7a722ba4e02c7c2fc25ee3eed9f124b6bb83 (agable@chromium.org)
    [lucicfg] Update v1.11.17 -> v1.11.18
  https://crrev.com/1a5fe235929a19ce3e44c899d381f497b38bab50 (apolito@google.com)
    add revision to scheduleBuild call for git cl try if needed.

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Icc0fe0b889305205cba8dbdf39119860bb12bf72
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266611
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>
2020-01-24 23:49:28 +00:00
Ethan Nicholas
2329da078a add SkSLInterpreter vector instructions
Change-Id: I93c8754d55b9d462b056a77e95b852fc61f1fd66
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266560
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2020-01-24 22:25:09 +00:00