Commit Graph

44221 Commits

Author SHA1 Message Date
skia-recreate-skps
7409b73fa5 Update Go deps
Change-Id: Iea67fa2488c293a7e8658fa9fbe22652eb62220f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238243
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-08-30 05:30:43 +00:00
skia-autoroll
b0b46209ed Roll third_party/externals/angle2 5d27a6961601..120b61d34ba8 (9 commits)
5d27a69616..120b61d34b

git log 5d27a6961601..120b61d34ba8 --date=short --no-merges --format='%ad %ae %s'
2019-08-29 lujc@google.com Use ShaderProgramID in place of GLuint handles
2019-08-29 tobine@google.com Revert "Reland "Vulkan: Use VK repos' internal BUILD.gn files""
2019-08-29 tobine@google.com Reland "Vulkan: Use VK repos' internal BUILD.gn files"
2019-08-29 geofflang@chromium.org Expand the TextureGL::releaseTexImage size reset workaround to Win AMD.
2019-08-29 syoussefi@chromium.org Vulkan: DispatchIndirect in graph dump output
2019-08-29 m.maiya@samsung.com Vulkan: Fix compute shader bug affecting 10_10_10_2 formats
2019-08-29 lujc@google.com Various fixes for frame capture
2019-08-29 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src f27bd2aa2e3f..796df2d74e05 (4 commits)
2019-08-29 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src 15fc19d0912d..73422a0a5ee1 (1 commits)

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

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 stani@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.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
TBR=stani@google.com
Change-Id: I9245bb8b81e3f0ef26432d2950526b4c1dedf628
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238236
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-30 05:25:03 +00:00
skia-autoroll
de98912db4 Roll ../src 2dd36fa786a2..a461132e64f5 (466 commits)
2dd36fa786..a461132e64


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

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 stani@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.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
Bug: None
TBR=stani@google.com
Change-Id: Iea4acc4f6252e4ed0607b8ed0f2d5319383703f8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238239
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-30 05:10:03 +00:00
skia-autoroll
ba0a2c7ad9 Roll third_party/externals/swiftshader eea9d35b8757..680d37610656 (7 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/eea9d35b8757..680d37610656

git log eea9d35b8757..680d37610656 --date=short --no-merges --format='%ad %ae %s'
2019-08-29 sugoi@google.com Add VK_IMAGE_USAGE_SAMPLED_BIT to SurfaceKHR
2019-08-29 sugoi@google.com Support for independentBlend feature
2019-08-29 capn@google.com Disable Vulkan projects in Visual Studio solution build
2019-08-29 bclayton@google.com Regres: Adjust constants and include error messages
2019-08-29 bclayton@google.com WSI: Very basic XCB surface implementation.
2019-08-29 swiftshader.regress@gmail.com Regres: Update test lists @ eea9d35b
2019-08-29 chrisforbes@google.com Add support for ImageFormatRg32{f,i,ui}

Created with:
  gclient setdep -r third_party/externals/swiftshader@680d37610656

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 stani@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.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
TBR=stani@google.com
Change-Id: I64bcffacb1325095f05af4d7481bdcd21ec4b6c0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238237
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-30 04:35:03 +00:00
Florin Malita
165ca3f85b [skottie] Text selector ease-high/ease-low support
Change-Id: Ia879868df677cabca6d5fcd09845efdb6147ee8e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238177
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-08-29 21:34:10 +00:00
Jim Van Verth
68cb8b0239 Switch to new IOS windowing system.
This replaces the SDL-based system and should allow Metal to work on iOS.
OpenGL and raster will render but there's no touch input yet.

Bug: skia:8737
Change-Id: I863accc47f0e1781192d567dbe54d1e321c3cd2e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/231561
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-08-29 20:13:03 +00:00
Stephen White
e264131289 Dawn: Implement RenderPipeline caching (optimization).
Implement RenderPipeline caching. This moves creation of all pipeline-
related objects from GrDawnGpuCommandBuffer.cpp to GrDawnProgramBuilder.

Change-Id: I42797750877b655ee19347406946302b296f3758
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/236917
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-08-29 19:54:33 +00:00
Greg Daniel
d72dd4dfdc Fix updating of current task index in GrResourceAllocator
Bug: chromium:996610
Change-Id: Ibb133e0ab4c1250189b69b60418d8c553c9645e5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238117
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-08-29 19:04:02 +00:00
Brian Salomon
a036f0d54e Make GrSurfaceProxy derive from GrNonAtomicRef and remove GrIORefProxy.
Also, expose GrNonAtomicRef's ref count. Since it's non-atomic and not
thread-safe it seems fine.

Change-Id: I5cf48e60d32094354955b2614cfeebbb4c1ecf2a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238059
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-08-29 19:03:33 +00:00
Florin Malita
a58bbee8f7 [skottie] Refactor/generalize text selector shape generators
The main motivation for this change is getting *all* shape generators to
run the ramp through a cubic mapper - this will allow adding
ease-in/ease-out support in a follow up CL.

As a bonus, the new implementation is more straightforward and concise
(at the expense of dropping some likely-premature optimizations).

Change-Id: Ia2bc53525ae529c35300be124220b4d61e4fc474
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238061
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-08-29 18:56:23 +00:00
Brian Osman
8a97782956 Move common particle code to an automatically-injected header
Change-Id: If99e1802c8187ebd98b67717d744c6695bb25900
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238118
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-08-29 18:49:33 +00:00
Stephen White
d729e2d64a Dawn: submit all command buffers in a single call.
All command buffers are now appended to a single vector, and submitted
submitted in onFinishFlush() in a single submit.

In order to do this, implement a centralized command encoder for copies.
This command encoder is used for buffer-to-buffer, buffer-to-texture and
texture-to-buffer copies.

Change-Id: If1092ae4edbe03c995d4cb80e0dc124516d63dad
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235826
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2019-08-29 18:45:05 +00:00
Herb Derby
3783375c4d Only send the RemoteStrikes that have pending glyphs.
Count the number of strikes in fRemoteStrikesToSend that have
glyphs to send. The strike may not have glyphs to send, because they
were sent previously. Then, send the strikes that have glyphs to send.
Keep the bool in the serialization which indicates that strike
has glyphs and should always be true now. The bool will be removed in the next CL.

Change-Id: I8b75d1bda574fd71adfd21cb20ff912340fc2e33
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237815
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Khushal Sagar <khushalsagar@chromium.org>
2019-08-29 17:02:02 +00:00
Hal Canary
b1f411ac05 tools/skui: put all enums in a common namespace
Change-Id: Icd331e8946d80652750b8b6ea0db65f5f676ac3e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238058
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-08-29 15:39:32 +00:00
Brian Osman
ca8b07cf8a Reland "Pin the GLSL version to be no larger than the GL version"
Updated to fix a bug with the different version numbering between
GL and GLSL.

This reverts commit 0042cb0c87.

Change-Id: I5ae9bb77bd46eac47b05e340b491f8a8671ef5a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238057
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-08-29 14:57:42 +00:00
skia-recreate-skps
938ce9fc53 Update Go deps
Change-Id: If2b7905883a12c31084afb467e01586085309a8e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238024
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-08-29 05:25:41 +00:00
skia-autoroll
b0465ae8b2 Roll third_party/externals/angle2 886698bc3fdd..5d27a6961601 (13 commits)
886698bc3f..5d27a69616

git log 886698bc3fdd..5d27a6961601 --date=short --no-merges --format='%ad %ae %s'
2019-08-29 timvp@google.com Support separable shader programs
2019-08-28 lujc@google.com Use ProgramPipelineID in place of GLuint handle
2019-08-28 syoussefi@chromium.org Vulkan: Expose EXT_instanced_arrays
2019-08-28 lujc@google.com Use PathID in place of GLuint handle
2019-08-28 geofflang@chromium.org Supress dEQP ETC texture tests on Mac.
2019-08-28 geofflang@chromium.org Suppress error messages in ANGLE end2end tests on Nexus6P.
2019-08-28 cwallez@chromium.org Suppress correct failure on Android FYI Release (NVIDIA Shield TV)
2019-08-28 lujc@google.com Use QueryID in place of GLuint handle
2019-08-28 spang@chromium.org Move default ANGLE platform type out of main switch/case
2019-08-28 cwallez@chromium.org Suppress crashing perftests on Win Intel Exp Rel
2019-08-28 cwallez@chromium.org Suppress end2end tests failures on Android FYI Release (NVIDIA Shield TV)
2019-08-28 lujc@google.com Support in memory frame capture replay
2019-08-28 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src a3bc04b278ed..f27bd2aa2e3f (4 commits)

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

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 stani@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.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
TBR=stani@google.com
Change-Id: Ia09e23b235c51fce9d8a6063d4285b4e82fd50d8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238019
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-29 05:25:01 +00:00
skia-autoroll
0baadc0381 Roll ../src c96d445dc9eb..2dd36fa786a2 (452 commits)
c96d445dc9..2dd36fa786


Created with:
  gclient setdep -r ../src@2dd36fa786

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 stani@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.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
Bug: None
TBR=stani@google.com
Change-Id: I6696332512a0a3b07b9ef9c086dc7f33f5370d5e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238020
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-29 05:00:31 +00:00
skia-autoroll
47023272a1 Roll third_party/externals/swiftshader cde4dd9601ce..eea9d35b8757 (10 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/cde4dd9601ce..eea9d35b8757

git log cde4dd9601ce..eea9d35b8757 --date=short --no-merges --format='%ad %ae %s'
2019-08-29 bclayton@google.com Device/Renderer: Work arounds for MemorySanitizer false-positives
2019-08-29 chrisforbes@google.com Clamp float values to correct range before conversion to normalized
2019-08-28 capn@google.com Support running Vulkan unit tests from the output directory
2019-08-28 chrisforbes@google.com Add missing vkGetPhysicalDevicePresentRectanglesKHR function
2019-08-28 chrisforbes@google.com Fix vkClearAttachments VK_ATTACHMENT_UNUSED handling
2019-08-28 swiftshader.regress@gmail.com Regres: Update test lists @ 05823feb
2019-08-28 capn@google.com Prettify atomic initialization
2019-08-28 chrisforbes@google.com Update testlists for Vulkan CTS 1.1.5 roll
2019-08-28 bclayton@google.com Device/Renderer: Fix uninitialized field.
2019-08-28 capn@google.com Make round-robin task enqueue index thread safe

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

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 stani@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.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
TBR=stani@google.com
Change-Id: I5936b92e5e9d918d6477553dcb26ae55364853f9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238018
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-29 05:00:01 +00:00
Michael Ludwig
a4b448831c Reland "Calculate draw bounds in drawEdgeAAImageSet"
This reverts commit a5fa56e910.

Reason for revert: Fixes bound calculation to transform fDstRect by each entry's pre-view matrix
if needed.

Original change's description:
> Revert "Calculate draw bounds in drawEdgeAAImageSet"
>
> This reverts commit 977b50a7e0.
>
> Reason for revert: Likely broke skia_renderer bots, https://test-results.appspot.com/data/layout_results/linux-rel/177320/vulkan_swiftshader_blink_web_tests%20%28with%20patch%29/layout-test-results/results.html
>
> Original change's description:
> > Calculate draw bounds in drawEdgeAAImageSet
> >
> > This will allow SkiaRenderer to provide image filters on the SkPaint
> > instead of using an explicit saveLayer, where they must calculate the
> > draw bounds. Once SkiaRenderer provides filters that way, they will
> > automatically take advantage of any implicit layer optimizations we can
> > add down the road.
> >
> > Bug: skia:9283
> > Change-Id: I87adef336a08210d4d015e36c907e893a973947d
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237477
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Michael Ludwig <michaelludwig@google.com>
>
> TBR=bsalomon@google.com,robertphillips@google.com,michaelludwig@google.com
>
> Change-Id: I99d90f7beae89b509c35649dcfcdf392a47b3415
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:9283
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237596
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>

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

Change-Id: I1cba1e70d32abe7cd2ad3cfe478960a3670e79ca
Bug: skia:9283
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237900
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
2019-08-28 21:05:30 +00:00
Michael Ludwig
ac3521262b Reland "Combine snapBackImage and snapSpecial"
This reverts commit fd849a537a.

Reason for revert: Magnifier filter fixed, layout tests shouldn't break on this change anymore.

Original change's description:
> Revert "Combine snapBackImage and snapSpecial"
> 
> This reverts commit 45739aa1d8.
> 
> Reason for revert: Looks like the magnifier filter doesn't handle subset origins correctly either, not caught by our tests, but does in layout tests.
> 
> Original change's description:
> > Combine snapBackImage and snapSpecial
> > 
> > Previously, snapBackImage always made a copy since that is required for
> > its use in saveBehind(). Backdrop filters also used snapBackImage because
> > it relied on its subset SkIRect argument to avoid using the entire
> > layer as input to the backdrop filter. The regular snapSpecial() originally
> > did not take a subset at all. The GPU implementations of snapSpecial()
> > and snapBackImage() were very similar. This merges them into a single call
> > that takes a subset SkIRect and a boolean to control if the copy is required.
> > 
> > Only saveBehind() requires that the copy is made, due to how it bypasses
> > the regular copy-on-write behavior managed by SkCanvas and SkSurface. The
> > no-argument saveSpecial() is still provided, but it is defined to just snap
> > the bounds of the device.
> > 
> > Flutter noticed a fairly serious performance regression on iOS that went
> > back to this CL: 08b260c27b. It was determined that the only significant change in
> > behavior that was active given their minimum working example was switching
> > from snapSpecial() to snapBackImage(). Hopefully moving to a snapSpecial that
> > takes a subset, but doesn't copy when there is a texture already available
> > will restore the performance.
> > 
> > Bug: skia:9283, https://github.com/flutter/flutter/issues/36352, https://github.com/flutter/flutter/issues/37541, https://github.com/flutter/flutter/issues/36064
> > Change-Id: I448f8886347a1e0f4da8f61279744bb9254f7752
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237127
> > Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Reviewed-by: Brian Osman <brianosman@google.com>
> 
> TBR=bsalomon@google.com,brianosman@google.com,michaelludwig@google.com
> 
> Change-Id: I7fd897da8a50b2fc0079e2aed9b6ad4bed6d3879
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:9283, https://github.com/flutter/flutter/issues/36352, https://github.com/flutter/flutter/issues/37541, https://github.com/flutter/flutter/issues/36064
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237616
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>

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

Change-Id: Ieeb7e8c3b3261d9e900fea6e83a5726b4b6c86cd
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:9283, https://github.com/flutter/flutter/issues/36352, https://github.com/flutter/flutter/issues/37541, https://github.com/flutter/flutter/issues/36064
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237904
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-08-28 21:03:12 +00:00
recipe-roller
bf4ddcf612 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/ee8d9ce83d7c26d09283efc88d381bd2505bf836 owners: add owners_rooted_at_file() (ellyjones@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Iece6b0e34d39b212b3107b6edc745c1cd627637b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237959
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-08-28 20:59:10 +00:00
Brian Osman
0042cb0c87 Revert "Pin the GLSL version to be no larger than the GL version"
This reverts commit 63655b5a21.

Reason for revert: Seems to be happening on more devices than is expected.

Original change's description:
> Pin the GLSL version to be no larger than the GL version
> 
> Some Adreno 308 devices have a driver bug where the GLSL version is
> higher than the GL version, and attempting to use shaders with that
> version triggers an error.
> 
> Change-Id: I5c8996e9771983e547ec75e57b04e2584507727f
> Bug: https://github.com/flutter/flutter/issues/36130
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237898
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

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

Change-Id: I4df2a01ae5228aa4edb56b35aa7f28807886282a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/flutter/flutter/issues/36130
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237903
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-08-28 20:46:08 +00:00
Michael Ludwig
9c853fa54a Fix non-zero special-image subsets in magnifier filter
This will let us re-land https://skia-review.googlesource.com/c/skia/+/237127
which makes non-zero subsets much more common. Confirmed that this CL and
the linked CL will now pass the CC unittests that caught the original failure.

Change-Id: Ic0393a574b2c19d92421a5deece81ab2ed70fc97
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237899
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-08-28 20:35:29 +00:00
Michael Ludwig
6c580f3cc1 Revert "Fix flutter roll"
This reverts commit 7be971fa3a.

Reason for revert: Flutter has been updated to new API, these patches
should not be necessary.

Original change's description:
> Fix flutter roll
>
> Flutter extends from the SkCanvasVirtualEnforcer, so the prior change
> to onDrawEdgeAAQuad to accept an SkColor4f instead of SkColor broke
> their build, the flutter roller, and--transitively--the G3 roller.
>
> This keeps the old onDrawEdgeAAQuad around as a no-op so their
> canvas_spy class can extend from it.
>
> TBR=bsalomon@google.com, stani@google.com
>
> Bug: skia:
> Change-Id: I3798ec60a21e90c3d3f5d59f19f7dbe62e37cbec
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237590
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>

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

Change-Id: I2946043dbddfdfc8c853e68853a8a349db0b5ab1
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237901
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2019-08-28 19:50:56 +00:00
Leon Scroggins III
0e68f44212 SkAnimatedImage: Update HEIF duration
Bug: 139815242
Test: Manual

HEIF does not know the correct duration for a frame until it has been
decoded. Update the frame time after decoding.

Change-Id: I6c4d1f27ea927b27d4c435e6aca94d57126e1146
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237876
Reviewed-by: Chong Zhang <chz@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2019-08-28 19:49:06 +00:00
Jim Van Verth
066ceb15b6 Implement fences and semaphores for Metal.
GrFence is implemented by a single MTLSharedEvent where we increase the
value with each new invocation. GrSemaphore uses a MTLEvent (the
assumption here is that we are signaling and waiting on the same device)
with an associated value that defaults to 1. For generating a large
number of GrSemaphores at once it should be possible to use the same
MTLEvent but with different assigned values.

Bug: skia:8243
Change-Id: Ic7de2d9d295fbe51e67bc7c3c4354257cb0774d4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233416
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-08-28 19:38:56 +00:00
Brian Osman
63655b5a21 Pin the GLSL version to be no larger than the GL version
Some Adreno 308 devices have a driver bug where the GLSL version is
higher than the GL version, and attempting to use shaders with that
version triggers an error.

Change-Id: I5c8996e9771983e547ec75e57b04e2584507727f
Bug: https://github.com/flutter/flutter/issues/36130
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237898
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-08-28 18:37:55 +00:00
Brian Salomon
76556a39ea Alpha8 support cleanup in GrGLCaps.
*Never renderable in ES but always texturable
*glTexStorage2D validity based on GL_EXT_texture_storage extension
*Move workarounds to workaround setup code

Change-Id: Id2b59ed8c65c88fea9e5cb671d34651dfb9b6a11
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237814
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-08-28 18:26:36 +00:00
recipe-roller
a268dfb74a Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/9ca245a1dc39e1fe957a4c8fb1774b731bef5415 [json] Handle nonexistent JSON placeholder file (olivernewman@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I1bbfa0594b77dca6af77d98b55a8c5391f03a02f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237916
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-08-28 17:29:06 +00:00
Ben Wagner
54aa8846e9 Add test for baseline snapping.
Change-Id: I895218ba087d2f04ee92bc6eaaaad780723a9202
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237803
Auto-Submit: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2019-08-28 16:35:55 +00:00
Andy Weiss
ecd03db1e8 Override operator delete for GrCpuBuffer
GrCpuBuffer allocates extra space for a buffer in Make but using sized
delete will then lead to UB as operator delete is not implemented.

This change overrides the delete operator to force the unsized variant
which gets rid of the UB at the cost of not taking advantage of sized
delete. Once P0722R1 is available to safely compute the full size of
the object inside delete, this code can change to use sized delete.

c.f. https://bugs.chromium.org/p/skia/issues/detail?id=6384
and http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0722r1.html

Change-Id: I8f9172c35d17a5acee777d802dfdb25f031868b4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237847
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-08-28 16:25:25 +00:00
Hal Canary
63b4d5880a SkPlainTextEditor/app: cycle typeface with ctrl-0
Change-Id: I0bcf38b0ec75a52df856948a85e5711a68e6585e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237430
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-08-28 15:55:36 +00:00
Hal Canary
a67523ae67 SkQP: Use SK_GL macro
CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86-devrel-Android_SKQP,Test-Debian9-Clang-NUC7i5BNK-CPU-Emulator-x86-devrel-All-Android_SKQP

Change-Id: I9978cb3c2a2dc726a46d0377f84fceb879b73917
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237800
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-08-28 15:34:15 +00:00
Brian Salomon
b1ade2a426 Fix spirv-tools include path
Change-Id: I7574c8d99f0e68d753e5714731aec57e0b20f327
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237799
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
2019-08-28 13:58:25 +00:00
Kevin Lubick
556df5b860 [canvaskit] Fix duplicate gold name
Change-Id: Ic62f44d20ff7ceba111260841d64322d1b6610f6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237802
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-08-28 13:56:46 +00:00
Herb Derby
a4c7883c56 Cleanups around fRemoteGlyphStateMap
* Rename fRemoteGlyphStateMap -> fDescTorRemoteStrike
* Move map operations to be local
* Other cleanups

Change-Id: Ia5c4309e849d018903623f70595ae7238ceaec8c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237496
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-08-28 13:56:35 +00:00
skia-recreate-skps
cd3216543d Update Go deps
Change-Id: I55f64eeb98c3f2ce769c4e4eebf553bb7d257c25
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237716
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-08-28 05:24:22 +00:00
skia-autoroll
73260e342e Roll third_party/externals/angle2 57ad1e1287dd..886698bc3fdd (7 commits)
57ad1e1287..886698bc3f

git log 57ad1e1287dd..886698bc3fdd --date=short --no-merges --format='%ad %ae %s'
2019-08-27 jmadill@chromium.org Vulkan: Style cleanups to TextureVk.
2019-08-27 jmadill@chromium.org Vulkan: Remove command buffer param from initImage.
2019-08-27 ianelliott@google.com Vulkan: Enable the official GLES1 conformance tests
2019-08-27 geofflang@chromium.org GL: Check for errors around GL calls.
2019-08-27 geofflang@chromium.org Fix a typo in the GL_NUM_REQUESTABLE_EXTENSIONS_ANGLE enum value.
2019-08-27 svaisanen@nvidia.com Remove skipping of several tests on NVIDIA since they are now passing
2019-08-27 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src 1eb89172a82b..15fc19d0912d (1 commits)

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

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 stani@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.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
TBR=stani@google.com
Change-Id: Ifcaa2f3494bb93f663adc8ef46aff65fc929947a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237656
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-28 05:22:02 +00:00
skia-autoroll
206ed6f9f3 Roll ../src 31c682b20741..c96d445dc9eb (397 commits)
31c682b207..c96d445dc9


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

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 stani@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.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
Bug: None
TBR=stani@google.com
Change-Id: I122145ac9f9591ec3fbe2dc8d7cffa5a31c36dfc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237658
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-28 04:45:22 +00:00
skia-autoroll
e36b85f34d Roll third_party/externals/swiftshader 605f863173b6..cde4dd9601ce (9 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/605f863173b6..cde4dd9601ce

git log 605f863173b6..cde4dd9601ce --date=short --no-merges --format='%ad %ae %s'
2019-08-27 bclayton@google.com Device: Migrate Renderer to Yarn
2019-08-27 bclayton@google.com Device: Don't use a global for the cluster count.
2019-08-27 bclayton@google.com Some minor code tidying.
2019-08-27 bclayton@google.com Pipeline: Use Yarn to make compute multi-threaded.
2019-08-27 bclayton@google.com Vulkan: Build a yarn::Scheduler and pass it down to the vk::Queue.
2019-08-27 bclayton@google.com vk::Queue: Lazily construct Renderers
2019-08-27 bclayton@google.com Yarn: Don't zero-initialize data in Pool<T>::Item::construct()
2019-08-27 chrisforbes@google.com Pass draw-to-draw varying state directly to Renderer::draw
2019-08-27 chrisforbes@google.com Do not expose extensions for KHR_shader_draw_parameters and KHR_variable_pointers

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

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 stani@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.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
TBR=stani@google.com
Change-Id: I3e1adee21f0eeeb05798ab2d41e103ad1d285766
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237657
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-28 04:37:42 +00:00
Michael Ludwig
7be971fa3a Fix flutter roll
Flutter extends from the SkCanvasVirtualEnforcer, so the prior change
to onDrawEdgeAAQuad to accept an SkColor4f instead of SkColor broke
their build, the flutter roller, and--transitively--the G3 roller.

This keeps the old onDrawEdgeAAQuad around as a no-op so their
canvas_spy class can extend from it.

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

Bug: skia:
Change-Id: I3798ec60a21e90c3d3f5d59f19f7dbe62e37cbec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237590
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-08-28 02:33:22 +00:00
Michael Ludwig
fd849a537a Revert "Combine snapBackImage and snapSpecial"
This reverts commit 45739aa1d8.

Reason for revert: Looks like the magnifier filter doesn't handle subset origins correctly either, not caught by our tests, but does in layout tests.

Original change's description:
> Combine snapBackImage and snapSpecial
> 
> Previously, snapBackImage always made a copy since that is required for
> its use in saveBehind(). Backdrop filters also used snapBackImage because
> it relied on its subset SkIRect argument to avoid using the entire
> layer as input to the backdrop filter. The regular snapSpecial() originally
> did not take a subset at all. The GPU implementations of snapSpecial()
> and snapBackImage() were very similar. This merges them into a single call
> that takes a subset SkIRect and a boolean to control if the copy is required.
> 
> Only saveBehind() requires that the copy is made, due to how it bypasses
> the regular copy-on-write behavior managed by SkCanvas and SkSurface. The
> no-argument saveSpecial() is still provided, but it is defined to just snap
> the bounds of the device.
> 
> Flutter noticed a fairly serious performance regression on iOS that went
> back to this CL: 08b260c27b. It was determined that the only significant change in
> behavior that was active given their minimum working example was switching
> from snapSpecial() to snapBackImage(). Hopefully moving to a snapSpecial that
> takes a subset, but doesn't copy when there is a texture already available
> will restore the performance.
> 
> Bug: skia:9283, https://github.com/flutter/flutter/issues/36352, https://github.com/flutter/flutter/issues/37541, https://github.com/flutter/flutter/issues/36064
> Change-Id: I448f8886347a1e0f4da8f61279744bb9254f7752
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237127
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

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

Change-Id: I7fd897da8a50b2fc0079e2aed9b6ad4bed6d3879
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:9283, https://github.com/flutter/flutter/issues/36352, https://github.com/flutter/flutter/issues/37541, https://github.com/flutter/flutter/issues/36064
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237616
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-08-27 23:56:54 +00:00
Michael Ludwig
a595f86428 Add Color4f variant for DrawEdgeAAQuad
Bug: chromium:795132,chromium:985500
Change-Id: Idbb4d45b29d2c0d0fd54b05b807086ecf0b8cf26
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237492
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-08-27 23:22:32 +00:00
Michael Ludwig
a5fa56e910 Revert "Calculate draw bounds in drawEdgeAAImageSet"
This reverts commit 977b50a7e0.

Reason for revert: Likely broke skia_renderer bots, https://test-results.appspot.com/data/layout_results/linux-rel/177320/vulkan_swiftshader_blink_web_tests%20%28with%20patch%29/layout-test-results/results.html

Original change's description:
> Calculate draw bounds in drawEdgeAAImageSet
> 
> This will allow SkiaRenderer to provide image filters on the SkPaint
> instead of using an explicit saveLayer, where they must calculate the
> draw bounds. Once SkiaRenderer provides filters that way, they will
> automatically take advantage of any implicit layer optimizations we can
> add down the road.
> 
> Bug: skia:9283
> Change-Id: I87adef336a08210d4d015e36c907e893a973947d
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237477
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>

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

Change-Id: I99d90f7beae89b509c35649dcfcdf392a47b3415
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:9283
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237596
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-08-27 22:40:34 +00:00
Florin Malita
511d2c281c [skottie] Disable text baseline snapping
Change-Id: I51ba09c78d200986a3116774f5dfd3a02bb597e1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237523
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Florin Malita <fmalita@chromium.org>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-08-27 21:24:21 +00:00
recipe-roller
ddbf4db9cd Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/19c4fbe5a863665b045e2d510b7a368c18c46edb [swarming] Allow customizing test task ids. (mohrr@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Id90078c6f7c11c0f41f64e51dba6cfb95caf2961
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237520
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-08-27 21:19:22 +00:00
Michael Ludwig
45739aa1d8 Combine snapBackImage and snapSpecial
Previously, snapBackImage always made a copy since that is required for
its use in saveBehind(). Backdrop filters also used snapBackImage because
it relied on its subset SkIRect argument to avoid using the entire
layer as input to the backdrop filter. The regular snapSpecial() originally
did not take a subset at all. The GPU implementations of snapSpecial()
and snapBackImage() were very similar. This merges them into a single call
that takes a subset SkIRect and a boolean to control if the copy is required.

Only saveBehind() requires that the copy is made, due to how it bypasses
the regular copy-on-write behavior managed by SkCanvas and SkSurface. The
no-argument saveSpecial() is still provided, but it is defined to just snap
the bounds of the device.

Flutter noticed a fairly serious performance regression on iOS that went
back to this CL: 08b260c27b. It was determined that the only significant change in
behavior that was active given their minimum working example was switching
from snapSpecial() to snapBackImage(). Hopefully moving to a snapSpecial that
takes a subset, but doesn't copy when there is a texture already available
will restore the performance.

Bug: skia:9283, https://github.com/flutter/flutter/issues/36352, https://github.com/flutter/flutter/issues/37541, https://github.com/flutter/flutter/issues/36064
Change-Id: I448f8886347a1e0f4da8f61279744bb9254f7752
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237127
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-08-27 21:06:31 +00:00
Stephen White
b288c8dcc8 gn format third_party/dawn/BUILD.gn.
Change-Id: Idf163572eedac0b434fbe49ddb8bd8e5b4ca0adb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237519
Commit-Queue: Stephen White <senorblanco@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-08-27 21:01:20 +00:00
Hal Canary
a0b66fc79d SkPlainTextEditor: from experimental to modules
Change-Id: I8896283ee3a57af926a43f6647e27059d52dd7a8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237146
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-08-27 20:32:19 +00:00