Commit Graph

42710 Commits

Author SHA1 Message Date
skia-autoroll
ebb7231326 Roll third_party/externals/angle2 923c30fba116..f116aa9c158b (14 commits)
923c30fba1..f116aa9c15


git log 923c30fba116..f116aa9c158b --date=short --no-merges --format='%ad %ae %s'
2019-06-28 lujc@google.com Vulkan: detect swapchain recreation passively
2019-06-28 jmadill@chromium.org Pull angle-internal for internal ANGLE devs.
2019-06-28 jonahr@google.com Update KHR GLES31 expectations to get bots running.
2019-06-28 jmadill@chromium.org Roll dEQP (June 2019)
2019-06-28 dongja@google.com Vulkan: improve handling of RGB texture formats
2019-06-28 dongja@google.com Test out-of-bounds writes in glCopyTexSubImage2D
2019-06-28 jmadill@chromium.org Re-land "Cleanup angle_libs_suffix in BUILD.gn."
2019-06-28 m.maiya@samsung.com Added end2end tests for GL_EXT_texture_rg
2019-06-28 syoussefi@chromium.org Add suppression for test failing on old MESA
2019-06-28 syoussefi@chromium.org Vulkan: Enable numerous deqp texture tests
2019-06-28 jmadill@chromium.org Revert "Cleanup angle_libs_suffix in BUILD.gn."
2019-06-28 geofflang@chromium.org GL: Clamp uniform array access on Android and AMD devices.
2019-06-28 fei.yang@arm.com Vulkan: pipeline cache not populated as blob cache is not set
2019-06-28 jmadill@chromium.org Cleanup angle_libs_suffix in BUILD.gn.


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

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

Change-Id: I7f6fb06d4bb11065a4194631b869df2202d03cfa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224698
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-07-01 04:50:20 +00:00
skia-autoroll
6a68dbd48d Roll third_party/externals/swiftshader 40495290dceb..52edb176f1bd (7 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/40495290dceb..52edb176f1bd


git log 40495290dceb..52edb176f1bd --date=short --no-merges --format='%ad %ae %s'
2019-06-28 sugoi@google.com PipelineCache implementation
2019-06-28 bclayton@google.com Reactor: Assert that array indexing is in bounds
2019-06-28 bclayton@google.com CMakeLists: Use ccache if found
2019-06-28 srisser@google.com Cleanup unittests a bit
2019-06-28 bclayton@google.com Pipeline/ShaderCore: Reimplement halfToFloatBits to not rely on denorm float multiply
2019-06-28 chrisforbes@google.com Wire up remaining 32b __sync_* functions required for arm32
2019-06-28 swiftshader.regress@gmail.com Regres: Update test lists @ 40495290


Created with:
  gclient setdep -r third_party/externals/swiftshader@52edb176f1bd

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

Change-Id: Ie9067fa4246818118b0ea280a2c7540d4004bd2d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224696
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-07-01 04:32:40 +00:00
skia-autoroll
4b1572a795 Roll ../src 9ef8c105f0dc..d38e9bb41f04 (418 commits)
9ef8c105f0..d38e9bb41f


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

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

Change-Id: I2a85e4eafad572aea5b9327f02471f7e9f19c238
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224697
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-07-01 04:28:20 +00:00
Michael Ludwig
dcb832ac63 Revert "Switch drawTexture calls to use attemptQuadOptimization"
This reverts commit 9b2defc3d5.

Reason for revert: Likely broke chrome layout tests

Original change's description:
> Switch drawTexture calls to use attemptQuadOptimization
> 
> Before the quad-rendering op refactor, regular filled rectangles and
> textured rectangles used an internal crop_filled_rect function to crop
> to the bounding box of the clip. As the quad op refactor progressed,
> regular filled rectangle drawing went through the new attemptQuadOptimization
> function that supported more cropping to the exact clip when axis-aligned,
> and could be better handle complex paints.
> 
> Following the generalized factories added to GrTextureOp in earlier CLs,
> it is now possible to route all textured rectangle draws through the same
> optimizations. While there are a number of public interfaces for drawing
> rectangles and textures on GrRTC, internally there is now just drawFilledQuad
> (for complex paints) and drawTexturedQuad(for textures, avoids GrPaint use).
> Both of these are very similar, and share attemptQuadOptimization(), which
> makes all rectangle-drawing code, regardless of shader/paint/etc., handled
> in a consistent manner.
> 
> This doesn't entirely resolve the complexities of non-AA clipping and non-AA
> axis-aligned rectangle drawing. That needs additional logic added to the
> GrQuadUtils::CropToRect function, but this CL is the last structural change
> to how the ops are created, and to GrRTC to get Ganesh to that stage.
> 
> Change-Id: Icfbd223eef6e3da0054699334725b5084aaee58a
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223934
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

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

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

Change-Id: Ide21002c336dbc3831a2b042acfec92a509ebacf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224639
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-07-01 01:19:10 +00:00
skia-recreate-skps
21a486d04a Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I681f12498a583a6b86e0fe6a8932b48bca9afc58
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224661
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-06-30 08:18:39 +00:00
skia-recreate-skps
d70add68ff Update Go deps
Change-Id: I2f251776ccc378c2a9ceb3219b8567c8399a38ed
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224656
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-06-30 05:29:49 +00:00
skia-recreate-skps
161f47dfbf Update Go deps
Change-Id: I4aac068e0b4edec07560551cf87fa12b65604566
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224616
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-06-29 05:32:48 +00:00
recipe-roller
0d8c1aefd1 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/dc37feb99d46bdf499715ceb467d341d24524e0b Make it clear in the help message that my_activity.py dates are mm/dd/yy (mheikal@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ia31e374763b118d7531cfc0175d94e26b056d2f0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224567
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-06-28 23:08:47 +00:00
Herb Derby
1ddee02522 Remove preparePath from the SkStrikeInterface
This call is only used by the bitmap drawing. Just use SkStrike
for bitmap drawing.

Change-Id: Ib9313b21bb2f9c7de2b8ac084d905538ba45f51b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224576
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-06-28 21:57:47 +00:00
Greg Daniel
ab013ebe9c Move GL caps textureable and fbocolorattachment flags to FormatInfo.
Change-Id: I68d623151a64dd68a5ea7a396023c7909c6e48a0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223798
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-06-28 19:43:37 +00:00
recipe-roller
8f284b01f7 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/6095d4006152c956759c24af5466f47b1a0ab1d3 Make sure PresubmitResult can be converted to a json. (debrian@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ie73b4614260176f15a8a46d086c8206554499cf3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224513
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-06-28 19:20:07 +00:00
Michael Ludwig
9b2defc3d5 Switch drawTexture calls to use attemptQuadOptimization
Before the quad-rendering op refactor, regular filled rectangles and
textured rectangles used an internal crop_filled_rect function to crop
to the bounding box of the clip. As the quad op refactor progressed,
regular filled rectangle drawing went through the new attemptQuadOptimization
function that supported more cropping to the exact clip when axis-aligned,
and could be better handle complex paints.

Following the generalized factories added to GrTextureOp in earlier CLs,
it is now possible to route all textured rectangle draws through the same
optimizations. While there are a number of public interfaces for drawing
rectangles and textures on GrRTC, internally there is now just drawFilledQuad
(for complex paints) and drawTexturedQuad(for textures, avoids GrPaint use).
Both of these are very similar, and share attemptQuadOptimization(), which
makes all rectangle-drawing code, regardless of shader/paint/etc., handled
in a consistent manner.

This doesn't entirely resolve the complexities of non-AA clipping and non-AA
axis-aligned rectangle drawing. That needs additional logic added to the
GrQuadUtils::CropToRect function, but this CL is the last structural change
to how the ops are created, and to GrRTC to get Ganesh to that stage.

Change-Id: Icfbd223eef6e3da0054699334725b5084aaee58a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223934
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-06-28 19:14:47 +00:00
Jim Van Verth
ccd895e16d Disable some code to handle Metal TSAN errors.
This is a temporary fix until I can figure out where these errors are
coming from.

Bug: skia:9213
Change-Id: Iac21415bf26f39f5237e12ec146769252e833d36
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223981
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-06-28 18:36:42 +00:00
Michael Ludwig
205224fbd5 Remove old texture op factories
Change-Id: I526cd01be501bf356307f00deb2c3067ab16de8f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223927
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-06-28 17:33:52 +00:00
Brian Osman
9c310473c6 Reland "DM: Add a per-sink MemoryCache to all GPU sinks"
Once https://skia-review.googlesource.com/c/skia/+/224258 lands, this
should be safe.

This reverts commit 1958fbbcff.

Change-Id: I2fca1e60a2d945d440b7cd5f60e4b4dec211decd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224278
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-06-28 16:30:24 +00:00
Brian Osman
e4c88bb1f8 Prevent caching path-rendering programs
As described in the comments, this is a workaround for a rare situation
when trying to use cached program binaries in conjunction with ANGLE and
path rendering.

Change-Id: Ief5bb0042f5ec13cbea2242ff9c4f0b9f9e65641
Bug: angle:3619
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224258
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-06-28 16:25:54 +00:00
Florin Malita
afd2c10c98 [skottie] Use hybrid bounds for custom Shaper VAlign modes
We used to rely solely on visual bounds for vertical alignment.  That
had the downside of leading/trailing empty lines being ignored.

Then https://skia-review.googlesource.com/c/skia/+/220916 switched to
using typographical bounds.  This approach produces results in line
with AE, but allows some glyphs to overflow the alignment boundary.

This CL introduces a hybrid approach:

1) for standard AE text alignment, continue to use typographical bounds

2) for Skottie VAlign extensions (sk_vj), use the union of typographical
   and visual bounds - this should mitigate both issues mentioned above

Change-Id: Ifd3ccae3d721728ce67942206160ebe92056d3a2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224188
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Avinash Parchuri <aparchur@google.com>
2019-06-28 11:35:09 +00:00
Florin Malita
d75fed41c2 [skottie] Use explicit font ascent in Shaper
Bodymovin exports an explicit ascent for each font, as a percentage of
the text size.

Change-Id: I25708944b2b79b42a6ccb05abbe002685e36dfa1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223986
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-06-28 11:35:09 +00:00
skia-recreate-skps
b851469b8e Update Go deps
Change-Id: Id26b7f97fa724c0b7aefa829695667d5584ff058
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224441
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-06-28 05:29:33 +00:00
skia-autoroll
3a8c402f2d Roll third_party/externals/angle2 a9dfb3ba5db1..923c30fba116 (9 commits)
a9dfb3ba5d..923c30fba1


git log a9dfb3ba5db1..923c30fba116 --date=short --no-merges --format='%ad %ae %s'
2019-06-27 jonahr@google.com Update test expectations for vulkan gles31 bots.
2019-06-27 syoussefi@chromium.org Vulkan: Emulate Transform Feedback with vertex shader output
2019-06-27 geofflang@chromium.org BlitGL: Support CL readback from non-renderable textures.
2019-06-27 ynovikov@chromium.org Fix skip Texture3DTestES3.DrawWithLevelsOutsideRangeWithInconsistentDimensions
2019-06-27 yunchao.he@intel.com Test RGB32F texture format on Intel Linux
2019-06-27 jmadill@chromium.org Vulkan: Remove flaky test suppression.
2019-06-27 jmadill@chromium.org Add std::ostream output for packed enums.
2019-06-27 timvp@google.com Support NaN conversion in Float32ToFloat16
2019-06-27 syoussefi@chromium.org Vulkan: Initial support for ES3.1


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

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

Change-Id: Ia1a346f983c7628e3deea3ba06f49cac305de179
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224418
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-28 04:57:23 +00:00
skia-autoroll
5abea72bf8 Roll ../src 1fffa0139440..9ef8c105f0dc (439 commits)
1fffa01394..9ef8c105f0


Created with:
  gclient setdep -r ../src@9ef8c105f0

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

Change-Id: Id548fe2f29f028881f121a11739c59470e19d851
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224417
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-28 04:49:53 +00:00
skia-autoroll
e699a3a237 Roll third_party/externals/swiftshader 522d51219054..40495290dceb (4 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/522d51219054..40495290dceb


git log 522d51219054..40495290dceb --date=short --no-merges --format='%ad %ae %s'
2019-06-28 lfy@google.com Fix extra semicolon after function def in FrameBufferOSX.mm
2019-06-28 lfy@google.com Allow 3d texture layers for framebuffer blit
2019-06-27 hliatis@google.com Add support for R8_SRGB textures
2019-06-27 capn@google.com Selectively suppress class-memaccess warning/error


Created with:
  gclient setdep -r third_party/externals/swiftshader@40495290dceb

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

Change-Id: I36803f799853129512811a5966bcd805a1dd2dce
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224416
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-28 04:34:03 +00:00
Ravi Mistry
199ff68ad3 [lottie-web-perf] Use canvas renderer for lottie-web
NoTry: true
Bug: skia:9195
Change-Id: I79276468c153783aebe7fdeda288166c52a6d1bc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224286
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2019-06-28 00:17:36 +00:00
Mike Klein
ba41df7c60 disable SkVM JIT on Android
Crashing Nexus5x GPU Perf bots, who knows why...

Cq-Include-Trybots: skia.primary:Perf-Android-Clang-Nexus5x-GPU-Adreno418-arm64-Debug-All-Android
Change-Id: I351bb15651015561cd54b13c6e3732fd79c53cf8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224287
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-27 23:18:03 +00:00
Mike Klein
842e92e292 implement Op::bytes with NEON tbl
Starting to look good:

    1.57ns	SkVM_4096_I32_SWAR
    3.89ns	SkVM_4096_I32
    4.08ns	SkVM_4096_I32_Naive
    7.84ns	SkVM_4096_F32
    2.7ns	SkVM_4096_RP
    1.26ns	SkVM_4096_Opts

Change-Id: I24f44ed5fc693a04afef8d7a6ce13f3733277fb3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224280
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-27 22:03:23 +00:00
Mike Klein
135a9a5421 roll ANGLE to a9dfb3ba5db1751e51d603ce32f1c7c28a1df6c6
Change-Id: I20f19f09d778b5599fed61889bf2afb1d38d7f3f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224279
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2019-06-27 21:28:03 +00:00
Mike Klein
97bc9a61c0 simplify nibble_to_vpshufb
Just realized the mapping from our bytes() control nibble
to vpshufb's control byte is even easier than we thought.

Change-Id: I86fec8d3ca091ecc3fbbd59fe51ac128f0cef2fa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224316
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-27 20:53:58 +00:00
Greg Daniel
a3f44e230f Reland "Refactor of GrGLCaps to move some code around."
This reverts commit 838c8f65ca.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Revert "Refactor of GrGLCaps to move some code around."
> 
> This reverts commit ed03e5f34b.
> 
> Reason for revert: breaking win10 angle srgb
> 
> Original change's description:
> > Refactor of GrGLCaps to move some code around.
> > 
> > The big changes here are that in initConfigTable we were setting a few
> > member variables (srgb support and compression related) whereas all other
> > member variables were set elsewhere. So this change moves the logic out
> > of initConfigTable and places it with other similar code.
> > 
> > Next setting of fSRGBWriteControl was affected by a driver workaround. We
> > need to apply this workaround before calling the initConfigTable. Thus I
> > moved the call to applyDriverWorkarounds above the initConfigTable. The
> > end result is that by the time initConfigTable is called we've now made all
> > decisions about what we will enable and disable (in terms of member variables),
> > and the only values writted in the function is setting values of the ConfigTable
> > itself.
> > 
> > Change-Id: I65b1bb4e9fc49d6020e1eb58d838f47057e6d1c8
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224191
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
> 
> TBR=egdaniel@google.com,bsalomon@google.com
> 
> Change-Id: Ib9ea36b8cba28df3fdf5fcdd828315cccfcc6ce3
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224256
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

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

Change-Id: I04d3399e021a9eed98940061f9cb4c720580dee8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224259
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-06-27 20:42:03 +00:00
Chris Dalton
6b98280469 Track if we need stencil on GrRenderTargetContext
There are a few places that have been checking whether the *proxy*
needs stencil, in order to determine if the current render target
context needs stencil. This is problematic since a render target
context can not require stencil itself, but wrap an existing proxy
that already has stencil.

Bug: skia:
Change-Id: I2719dd3a9df15fef3d64f991cda4fadea23266bb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223970
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-06-27 20:29:03 +00:00
Michael Ludwig
22429f96bd Add generic texture op factory.
This adds a new factory for GrTextureOp that generalizes the current
Make() and MakeQuad(). A following CL will remove those calls.

This also moves the texture-op emulation with GrFillRectOp into this
factory call. I found this to make more sense, both because it makes
op creation callsites simpler (drawTexturedQuad, drawTexture, and
drawTextureSet don't have to check the blend mode anymore). Additionally
the logic for matching the texture op shading behavior to a GrPaint
now lives inside GrTextureOp.

To allow for this, the to-be-removed existing factories have had the
blend mode added to their arguments as well.

Change-Id: Icda346cd203ae8caa7f5ed762ed4e0a214084dda
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223924
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-06-27 20:19:19 +00:00
Mike Klein
0ef3f53c8e aarch64 JIT first pass
- this is enough to run some of the test programs
  - a couple instructions TODO: load8, store8, bytes,
    so I32_SWAR and I32 are not yet JIT'd, but F32
    and I32_Naive are

Change-Id: I1d97cff24aa7307726c722cce45896ed319877e7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224194
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-27 20:15:29 +00:00
Eric Boren
080fbade12 [infra] Use Swarming task ID for logdog URL
... as opposed to Skia Task Scheduler ID. The latter causes the command
to be different at every task invocation, which prevents deduplication.
Use the Swarming task ID from the environment instead.

Change-Id: Ied59bb0a0f45570f425cccd5ed707bfdd550893c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223976
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
2019-06-27 18:51:56 +00:00
Greg Daniel
838c8f65ca Revert "Refactor of GrGLCaps to move some code around."
This reverts commit ed03e5f34b.

Reason for revert: breaking win10 angle srgb

Original change's description:
> Refactor of GrGLCaps to move some code around.
> 
> The big changes here are that in initConfigTable we were setting a few
> member variables (srgb support and compression related) whereas all other
> member variables were set elsewhere. So this change moves the logic out
> of initConfigTable and places it with other similar code.
> 
> Next setting of fSRGBWriteControl was affected by a driver workaround. We
> need to apply this workaround before calling the initConfigTable. Thus I
> moved the call to applyDriverWorkarounds above the initConfigTable. The
> end result is that by the time initConfigTable is called we've now made all
> decisions about what we will enable and disable (in terms of member variables),
> and the only values writted in the function is setting values of the ConfigTable
> itself.
> 
> Change-Id: I65b1bb4e9fc49d6020e1eb58d838f47057e6d1c8
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224191
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

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

Change-Id: Ib9ea36b8cba28df3fdf5fcdd828315cccfcc6ce3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224256
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-06-27 18:43:52 +00:00
Mike Klein
f5443bb16f steady clock is probably best
Change-Id: I37eadc5800665af5ee862c4f108fa7c1f5000fa3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224195
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-27 18:31:24 +00:00
Eric Boren
3ae2e54be0 [infra] Trim down isolate for recipe bundle
Change-Id: Ic6da2d71b4e45fe67bc32942a87d41426bc9d05b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224189
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2019-06-27 18:27:44 +00:00
Greg Daniel
ed03e5f34b Refactor of GrGLCaps to move some code around.
The big changes here are that in initConfigTable we were setting a few
member variables (srgb support and compression related) whereas all other
member variables were set elsewhere. So this change moves the logic out
of initConfigTable and places it with other similar code.

Next setting of fSRGBWriteControl was affected by a driver workaround. We
need to apply this workaround before calling the initConfigTable. Thus I
moved the call to applyDriverWorkarounds above the initConfigTable. The
end result is that by the time initConfigTable is called we've now made all
decisions about what we will enable and disable (in terms of member variables),
and the only values writted in the function is setting values of the ConfigTable
itself.

Change-Id: I65b1bb4e9fc49d6020e1eb58d838f47057e6d1c8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224191
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-06-27 18:14:44 +00:00
Jim Van Verth
d7871cc505 Check for too-small ovals when deciding on using GrCircleOp
Bug: chromium:979178
Change-Id: I2cacba922c1efb0bc9fce6dfc13bd1119fc4676c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224193
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-06-27 18:11:24 +00:00
Michael Ludwig
f339dfea31 Separate src coordinates from domain rect in texture op.
Previously, the metadata for an op entry stored the src rect and a bool.
When true, the src rect represented both the source texture coordinates
and the domain rectangle. In addition, if the real source coordinates
were actually a quadrilateral, they were stored as an optional local quad
in the buffer.

This changes it so that the metadata rect represents only the domain and
the source texture coordinates are always stored in the quad buffer.
This is slightly more storage overhead for the simple case but did not
lead to performance issues locally. It also lets us (in a later CL), fix
a bug where the src rect gets clipped in GrRTC and that clipped rect is
used as both the domain and src (when it should be used just as the src
and the original, unclipped rect is the domain).

Change-Id: Id1bcdf7c3045c330a51973a006411a9169777a91
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223922
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-06-27 17:44:28 +00:00
Ben Wagner
7b4aef0f46 Fix argument order dependency when creating HBBlob.
In the code prior to this change, if the compiler evaluated the arguments
from left to right everything would work. If the compiler evaluated the
arguments from right to left the the data was released before the calls
to get the location and size of the data. Since the compiler saw that
the release could happen before the other fields were read, it emitted
instructions like 'mov edx,dword ptr [20h]', directly inlining the
nullptr dereference.

BUG: chromium:979161
Change-Id: I0c45d9f6b8c8cd7b6c751f2b03f10aa5ea9d685c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224192
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-06-27 17:26:18 +00:00
Brian Salomon
bb8dde8f7c Reland "Reland "Separate compressed and uncompressed texture functions""
This is a reland of c0519233cd

Original change's description:
> Reland "Separate compressed and uncompressed texture functions"
> 
> This is a reland of 9acfb33ad8
> 
> Original change's description:
> > Separate compressed and uncompressed texture functions
> > 
> > Change-Id: Iccf31e1e4dbebde8aab4bb9b57cfb0341bb05912
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223802
> > Reviewed-by: Greg Daniel <egdaniel@google.com>
> > Commit-Queue: Brian Salomon <bsalomon@google.com>
> 
> Change-Id: I9f212b7d34cf43216f7d2ec63b959b75fd6a71b3
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223992
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

Change-Id: I0654a49dadfb56ad276051c8632b91da05bf24cd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224181
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-06-27 17:09:24 +00:00
Florin Malita
c1f5d8d0f4 [skottie] Handle empty lines in Shaper
SkShaper doesn't seem to like empty inputs.

TBR=
Change-Id: Iace3eef389051dcce229ed4ac6897344770d19c3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224190
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Auto-Submit: Florin Malita <fmalita@chromium.org>
2019-06-27 16:59:28 +00:00
Greg Daniel
c29e6dc358 Disable texturing and rendering to F32 pixel configs.
Change-Id: Iefd29ceb5431a9e2e12a9fcdfcc548131b29032c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224187
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-06-27 16:48:48 +00:00
Mike Klein
fc64a1bee9 slight speedup for hsw::blit_row_s32a_opaque
This backports a little bit of the work we've done in SkVM
to the pre-compiled blit_row_s32a_opaque routine for AVX2.

Mostly I've just rewritten the function with new comments for clarity.
The key improvement is to use _mm256_shuffle_epi8 to create two copies
of the src alpha.  The old version mimicked the idiom from the SSE2 code
where a byte-shuffle was not possible, instead using a shift-shift-or
pattern to construct it in three instructions.  Despite being a slower
instruction, using one vpshufb does seem to beat the compound operation
by a little bit, both in practice (nanobench) and theory (llvm-mca).

This is pretty small stuff, about 0.01ns per pixel saved of ~0.15ns.

Change-Id: Ic7206e391844becab2a79a7ba6ddf4be2f82a06e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224185
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Auto-Submit: Mike Klein <mtklein@google.com>
2019-06-27 16:13:28 +00:00
Michael Ludwig
425eb45435 Reland "Replace GrQuadList with variable-length quad buffer"
This reverts commit 19628ec144.

Reason for revert: fixed struct size on 32-bit iOS

Original change's description:
> Revert "Replace GrQuadList with variable-length quad buffer"
> 
> This reverts commit f281604429.
> 
> Reason for revert: Breaking G3 and iOS Build
> 
> Original change's description:
> > Replace GrQuadList with variable-length quad buffer
> > 
> > Change-Id: I5cc391e8d143032893511695961f5251f40e8291
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223803
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> 
> TBR=bsalomon@google.com,michaelludwig@google.com
> 
> Change-Id: I55947c068c6472c301952e33cbc36d04505f9800
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223993
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

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

Change-Id: I7522270d467faf0f4e777831e9186bad010409ab
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224184
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-06-27 14:58:09 +00:00
Brian Osman
1958fbbcff Revert "DM: Add a per-sink MemoryCache to all GPU sinks"
This reverts commit a7b224d3a3.

Reason for revert: Failures on some ANGLE bots

Original change's description:
> DM: Add a per-sink MemoryCache to all GPU sinks
> 
> This isolates the caches per config, so we don't try to reuse cached
> binaries across different GL versions (or different D3D backend versions
> on ANGLE bots, etc).
> 
> Locally, this sped up ANGLE significantly Looking at a sample bot
> (NUC6i5SYK), it dropped DM from 36m to 31m.
> 
> Change-Id: I95db18c6ea85041e6adbc972f0118233c82818fb
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223985
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

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

Change-Id: I8c9af65d89fddb28e5f1395a6c946312f27ba48a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224186
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-06-27 14:39:09 +00:00
Mike Klein
2e1e50435a Reland "add operator "" _mask() to make Assembler clearer"
This is a reland of 076e5d3a4c

Original change's description:
> add operator "" _mask() to make Assembler clearer
> 
> Change-Id: I145f0f60288eef368fc7648b25661356cb6e9f12
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223980
> Commit-Queue: Mike Klein <mtklein@google.com>
> Reviewed-by: Herb Derby <herb@google.com>

Change-Id: I10f8301888d83ba186a32c251b25a3fbe297a6a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224183
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-27 14:36:19 +00:00
Brian Salomon
1a8806469a constexprify a lot of GrTypesPriv.h
Change-Id: I0dfe0f6f809f2910a142f5e2eb34fffc749404ff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223933
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-06-27 14:12:51 +00:00
Mike Klein
a8720d0c94 make Label offsets int
It's a bit too easy to trip up the MSRTC bots with size_t.

(The only reason I used size_t in the first place is that
these really are byte offsets... kind of the one place we
use size_t.)

Cq-Include-Trybots: skia.primary:Test-Win2016-MSVC-GCE-CPU-AVX2-x86_64-Debug-All-MSRTC
Change-Id: I3426cec68af298a18139118b866b70b33ee34d9b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224182
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-27 14:02:21 +00:00
Ben Wagner
f14badde92 Update driver on Ubuntu18 Quadro bots
Also remove "rack" dimension. The os dimension now aligns with the rack
dimension, so we don't need to worry about it.

Bug: chromium:919950
Change-Id: I6ec2dee501ebe7b34cd1a52b68141abb3b133c84
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215087
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2019-06-27 13:52:41 +00:00
Brian Osman
a7b224d3a3 DM: Add a per-sink MemoryCache to all GPU sinks
This isolates the caches per config, so we don't try to reuse cached
binaries across different GL versions (or different D3D backend versions
on ANGLE bots, etc).

Locally, this sped up ANGLE significantly Looking at a sample bot
(NUC6i5SYK), it dropped DM from 36m to 31m.

Change-Id: I95db18c6ea85041e6adbc972f0118233c82818fb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223985
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-06-27 13:21:13 +00:00